public override void EnterConstSubStmt(VBAParser.ConstSubStmtContext context) { var parent = (VBAParser.ConstStmtContext)context.Parent; var accessibility = GetMemberAccessibility(parent.visibility()); var asTypeClause = context.asTypeClause(); var asTypeName = asTypeClause == null ? Tokens.Variant : asTypeClause.type().GetText(); var identifier = context.ambiguousIdentifier(); var name = identifier.GetText(); var value = context.valueStmt().GetText(); var declaration = new ValuedDeclaration(new QualifiedMemberName(_qualifiedName, name), _currentScope, asTypeName, accessibility, DeclarationType.Constant, value, context, identifier.GetSelection()); _declarations.Add(declaration); }
private string DeclareExplicitVariant(VBAParser.ConstSubStmtContext context, out string instruction) { if (context == null) { instruction = null; return(null); } var parent = (VBAParser.ConstStmtContext)context.Parent; instruction = parent.GetText(); var constant = context.GetText(); var replacement = context.ambiguousIdentifier().GetText() + ' ' + Tokens.As + ' ' + Tokens.Variant + ' ' + context.EQ().GetText() + ' ' + context.valueStmt().GetText(); var result = instruction.Replace(constant, replacement); return(result); }