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; }
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)); }