示例#1
0
        private ProcedureNode(ParserRuleContext context, string scope, string localScope,
                              VBProcedureKind kind,
                              VBAParser.VisibilityContext visibility,
                              VBAParser.AmbiguousIdentifierContext name,
                              Func <VBAParser.AsTypeClauseContext> asType)
            : base(context, scope, localScope)
        {
            _kind              = kind;
            _name              = name.GetText();
            _accessibility     = visibility.GetAccessibility();
            _visibilityContext = visibility;

            if (asType != null)
            {
                var returnTypeClause = asType();
                _isImplicitReturnType = returnTypeClause == null;

                _returnType = returnTypeClause == null
                                ? Tokens.Variant
                                : returnTypeClause.type().GetText();
            }
        }
示例#2
0
        private ProcedureNode(ParserRuleContext context, string scope, string localScope,
                              VBProcedureKind kind,
                              VBAParser.VisibilityContext visibility,
                              VBAParser.AmbiguousIdentifierContext name,
                              Func<VBAParser.AsTypeClauseContext> asType)
            : base(context, scope, localScope)
        {
            _kind = kind;
            _name = name.GetText();
            _accessibility = visibility.GetAccessibility();
            _visibilityContext = visibility;

            if (asType != null)
            {
                var returnTypeClause = asType();
                _isImplicitReturnType = returnTypeClause == null;

                _returnType = returnTypeClause == null
                                ? Tokens.Variant
                                : returnTypeClause.type().GetText();
            }
        }