コード例 #1
0
 public MemberAccessDefaultBinding(
     DeclarationFinder declarationFinder,
     Declaration project,
     Declaration module,
     Declaration parent,
     VBAParser.ObjectPrintExprContext expression,
     IExpressionBinding lExpressionBinding,
     StatementResolutionContext statementContext,
     ParserRuleContext unrestrictedNameContext)
     : this(
         declarationFinder,
         project,
         module,
         parent,
         expression,
         null,
         Tokens.Print,
         statementContext,
         unrestrictedNameContext)
 {
     _lExpressionBinding = lExpressionBinding;
 }
コード例 #2
0
        private IExpressionBinding Visit(Declaration module, Declaration parent, VBAParser.ObjectPrintExprContext expression, IBoundExpression withBlockVariable)
        {
            var lExpression         = expression.lExpression();
            var lExpressionBinding  = Visit(module, parent, lExpression, withBlockVariable, StatementResolutionContext.Undefined);
            var memberAccessBinding = new MemberAccessDefaultBinding(
                _declarationFinder,
                Declaration.GetProjectParent(parent),
                module,
                parent,
                expression,
                lExpressionBinding,
                StatementResolutionContext.Undefined,
                expression.printMethod());
            var outputListContext = expression.outputList();
            var outputListBinding = outputListContext != null
                ? Visit(
                module,
                parent,
                outputListContext,
                withBlockVariable)
                : null;

            return(new ObjectPrintDefaultBinding(expression, memberAccessBinding, outputListBinding));
        }