public override void Visit(ExprDotName e) { MemberSelectExpr mse = null; if (e.ResolvedExpression is MemberSelectExpr) { mse = e.ResolvedExpression as MemberSelectExpr; } var nav = new SymbolNavigator(); var definingItem = nav.TopDown(RootNode, mse?.Member.tok); var declaration = FindDeclaration(e.SuffixName, definingItem); CreateSymbol( name: e.SuffixName, kind: null, type: e.Type, positionAsToken: e.tok, bodyStartPosAsToken: null, bodyEndPosAsToken: null, isDeclaration: false, declarationSymbol: declaration, addUsageAtDeclaration: true, canHaveChildren: false, canBeUsed: false ); }
public override void Visit(NameSegment e) { var nav = new SymbolNavigator(); var resolvedSymbol = nav.TopDown(RootNode, e.ResolvedExpression.tok); var declaration = FindDeclaration(e.Name, resolvedSymbol); CreateSymbol( name: e.Name, kind: null, type: e.Type, positionAsToken: e.tok, bodyStartPosAsToken: null, bodyEndPosAsToken: null, isDeclaration: false, declarationSymbol: declaration, addUsageAtDeclaration: true, canHaveChildren: false, canBeUsed: false ); }