public override IDeclaredElementPointer <T> CreateElementPointer <T>(T declaredElement) { var element = declaredElement as IUriIdentifierDeclaredElement; if (element == null) { return(null); } var node = element as ITreeNode; var file = node != null ? node.GetContainingFile() : null; IDeclaredElement fakeDeclaredElement = new UriIdentifierDeclaredElement( file, element.GetNamespace(), element.GetLocalName(), element.GetInfo(), element.GetPsiServices(), true, element); var sourceElementPointer = new SourceElementPointer <T>((T)fakeDeclaredElement); return(sourceElementPointer); }
protected UnityAssetFindResult(IPsiSourceFile sourceFile, IDeclaredElement declaredElement, LocalReference owningElemetLocation) { SourceFile = sourceFile; OwningElemetLocation = owningElemetLocation; DeclaredElementPointer = new SourceElementPointer <IDeclaredElement>(declaredElement); }
protected UnityAssetFindResult(IPsiSourceFile sourceFile, IDeclaredElement declaredElement, IHierarchyElement attachedElement) { SourceFile = sourceFile; AttachedElement = attachedElement; DeclaredElementPointer = new SourceElementPointer <IDeclaredElement>(declaredElement); }