Пример #1
0
        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);
        }
Пример #2
0
        public IList <IDeclaration> GetDeclarationsIn(IPsiSourceFile sourceFile)
        {
            if (this.filesScope.Contains(sourceFile) && this.GetSourceFile() != sourceFile)
            {
                return(EmptyList <IDeclaration> .InstanceList);
            }

            return(UriIdentifierDeclaredElement.GetDeclarationsIn(sourceFile, this));
        }
Пример #3
0
        public IList <IDeclaration> GetDeclarations()
        {
            if (this.ScopeToMainFile)
            {
                return(UriIdentifierDeclaredElement.GetDeclarationsIn(this.GetSourceFile(), this));
            }

            return(UriIdentifierDeclaredElement.GetDeclarations(this));
        }
        private IEnumerable <NTriplesFileMemberData> GetPrimaryMembers(ISolution solution)
        {
            var cache = solution.GetComponent <NTriplesCache>();
            //var subjects = cache.GetImportantSubjects().ToArray();

            var symbolsByFile = cache.GetAllUriIdentifierSymbolsByFile();
            var services      = solution.GetPsiServices();

            foreach (var symbols in symbolsByFile)
            {
                var file       = symbols.Key;
                var sourceFile = file.GetPsiFile(NTriplesLanguage.Instance, new DocumentRange(file.Document, 0));
                foreach (var symbol in symbols.Value)
                {
                    var uriIdentifier = new UriIdentifierDeclaredElement(
                        sourceFile, symbol.Namespace, symbol.LocalName, symbol.Info, services, true);
                    yield return(new NTriplesFileMemberData(uriIdentifier, ContainerDisplayStyle.NoContainer));
                }
            }
        }
        private void BuildDeclarations()
        {
            this.myDeclarations.Clear();

            IDeclaredElement element = this.myOriginalElementPointer.FindDeclaredElement();

            if (element == null)
            {
                return;
            }

            var declarations = new MultyPsiDeclarations(element).AllDeclarations.ToList();

            if (element is IUriIdentifierDeclaredElement)
            {
                declarations.AddRange(UriIdentifierDeclaredElement.GetDeclarations(element as IUriIdentifierDeclaredElement));
            }

            foreach (var declaration in declarations)
            {
                this.myDeclarations.Add(declaration);
            }
        }
Пример #6
0
 public IList <IDeclaration> GetDeclarationsIn(IPsiSourceFile sourceFile)
 {
     return(UriIdentifierDeclaredElement.GetDeclarationsIn(sourceFile, this));
 }
Пример #7
0
 public IList <IDeclaration> GetDeclarations()
 {
     return(UriIdentifierDeclaredElement.GetDeclarations(this));
 }