@Test public void symbols_filtering() { assertThat(SYMBOL_MODEL.getSymbols(Symbol.Kind.FUNCTION)).extracting("name").containsOnly("f", "func", "flowGenerics"); assertThat(SYMBOL_MODEL.getSymbols(Symbol.Kind.PARAMETER)).extracting("name").containsOnly("p1", "p2", "p3"); assertThat(SYMBOL_MODEL.getSymbols(Symbol.Kind.FLOW_GENERIC_TYPE)).extracting("name").containsOnly("T"); assertThat(SYMBOL_MODEL.getSymbols("a")).hasSize(3); assertThat(SYMBOL_MODEL.getSymbols("arguments")).hasSize(3); assertThat(SYMBOL_MODEL.getSymbols("this")).hasSize(4); assertThat(SYMBOL_MODEL.getSymbols("Object")).hasSize(1); assertThat(SYMBOL_MODEL.getSymbols("window")).hasSize(1); }
@Override public Set<Symbol> getSymbols() { return Collections.unmodifiableSet(symbols); }
SymbolModelImpl implements SymbolModel, SymbolModelBuilder { @Override public Set<Symbol> getSymbols() { return Collections.unmodifiableSet(symbols); } }
SymbolModelImpl implements SymbolModel, SymbolModelBuilder { @Override public Set<Symbol> getSymbols() { return Collections.unmodifiableSet(symbols); }  }
SymbolModelImpl implements SymbolModel, SymbolModelBuilder { @Override public Set<Symbol> getSymbols() { return Collections.unmodifiableSet(symbols); }  static void build(TreeVisitorContext context, @Nullable Configuration configuration); @Override Scope globalScope(); @Override void addScope(Scope scope); @Override Set<Scope> getScopes(); @Override Symbol declareSymbol(String name, Symbol.Kind kind, Scope scope); @Override Symbol declareExternalSymbol(String name, Symbol.Kind kind, Scope scope); @Override Set<Symbol> getSymbols(); @Override Set<Symbol> getSymbols(Symbol.Kind kind); @Override Set<Symbol> getSymbols(String name); @Nullable @Override Scope getScope(Tree tree); }
SymbolModelImpl implements SymbolModel, SymbolModelBuilder { @Override public Set<Symbol> getSymbols() { return Collections.unmodifiableSet(symbols); }  static void build(TreeVisitorContext context, @Nullable Configuration configuration); @Override Scope globalScope(); @Override void addScope(Scope scope); @Override Set<Scope> getScopes(); @Override Symbol declareSymbol(String name, Symbol.Kind kind, Scope scope); @Override Symbol declareExternalSymbol(String name, Symbol.Kind kind, Scope scope); @Override Set<Symbol> getSymbols(); @Override Set<Symbol> getSymbols(Symbol.Kind kind); @Override Set<Symbol> getSymbols(String name); @Nullable @Override Scope getScope(Tree tree);  }