Do not return the wrong node when an identifier is not found

This change makes the completion extension more accurate when resolving the nodes
that correspond to identifiers.  It will no longer return a completion data list
for the parent node when an identifier cannot be resolved.  Instead, it will not
return the completion data.  The completion results were misleading otherwise.
Provide correct icons in completion data list