public override void EnterVariableSubStmt(VBAParser.VariableSubStmtContext context) { var parent = (VBAParser.VariableStmtContext)context.Parent.Parent; var accessibility = GetMemberAccessibility(parent.visibility()); var identifier = context.identifier(); if (identifier == null) { return; } var name = Identifier.GetName(identifier); var typeHint = Identifier.GetTypeHintValue(identifier); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var withEvents = parent.WITHEVENTS() != null; var isAutoObject = asTypeClause != null && asTypeClause.NEW() != null; bool isArray = context.LPAREN() != null; AddDeclaration( CreateDeclaration( name, asTypeName, accessibility, DeclarationType.Variable, context, context.identifier().GetSelection(), isArray, asTypeClause, typeHint, isAutoObject, withEvents)); }
public override void EnterVariableSubStmt(VBAParser.VariableSubStmtContext context) { var parent = (VBAParser.VariableStmtContext)context.Parent.Parent; var accessibility = GetMemberAccessibility(parent.visibility()); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var withEvents = parent.WITHEVENTS() != null; var selfAssigned = asTypeClause != null && asTypeClause.NEW() != null; _declarations.Add(CreateDeclaration(context.ambiguousIdentifier().GetText(), asTypeName, accessibility, DeclarationType.Variable, context, context.ambiguousIdentifier().GetSelection(), selfAssigned, withEvents)); }