コード例 #1
0
        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.identifier();
            var typeHint   = Identifier.GetTypeHintValue(identifier);
            var name       = Identifier.GetName(identifier);
            var value      = context.expression().GetText();
            var constStmt  = (VBAParser.ConstStmtContext)context.Parent;

            var declaration = new ConstantDeclaration(
                new QualifiedMemberName(_qualifiedName, name),
                _parentDeclaration,
                _currentScope,
                asTypeName,
                asTypeClause,
                typeHint,
                FindAnnotations(constStmt.Start.Line),
                accessibility,
                DeclarationType.Constant,
                value,
                context,
                identifier.GetSelection());

            AddDeclaration(declaration);
        }
コード例 #2
0
        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);
        }