// I(Reference)Qualifier.GetSymbolTable - returns the symbol table of items available from the resolved // reference, when being used as a qualifier. Not used to resolve this reference, but can be used to resolve // another reference, when this instance is used as a qualifier. E.g. if this reference is a namespace, // return all applicable items available in the namespace. // Contrast with IReference.GetReferenceSymbolTable, which returns the symbol table used to resolve a // reference. For a qualified reference, this will call GetQualifier.GetSymbolTable(mode). If there is no // qualifier, it gets a symbol table based on current scope public ISymbolTable GetSymbolTable(SymbolTableMode mode, IReference reference, bool useReferenceName) { if (!(Resolve().DeclaredElement is INamespace @namespace)) { return(EmptySymbolTable.INSTANCE); } var module = myOwner.GetPsiModule(); var symbolTable = ResolveUtil.GetSymbolTableByNamespace(@namespace, module, true); return(useReferenceName ? symbolTable.Filter(new ExactNameFilter(reference.GetName())) : symbolTable); }
public ISymbolTable GetSymbolTable(SymbolTableMode mode) { return(GetSymbolTable(mode, this, true)); }