예제 #1
0
        private IExpressionBinding Visit(Declaration module, Declaration parent, VBAExpressionParser.MemberAccessExprContext expression)
        {
            dynamic lExpression        = expression.lExpression();
            var     lExpressionBinding = Visit(module, parent, lExpression);

            return(new MemberAccessTypeBinding(_declarationFinder, module, parent, expression, lExpressionBinding));
        }
 public MemberAccessTypeBinding(
     DeclarationFinder declarationFinder,
     Declaration module,
     Declaration parent,
     VBAExpressionParser.MemberAccessExprContext expression,
     IExpressionBinding lExpressionBinding)
 {
     _declarationFinder  = declarationFinder;
     _project            = module.ParentDeclaration;
     _module             = module;
     _parent             = parent;
     _memberAccessExpr   = expression;
     _lExpressionBinding = lExpressionBinding;
 }
 /// <summary>
 /// Visit a parse tree produced by <see cref="VBAExpressionParser.memberAccessExpr"/>.
 /// <para>
 /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/>
 /// on <paramref name="context"/>.
 /// </para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 /// <return>The visitor result.</return>
 public virtual Result VisitMemberAccessExpr([NotNull] VBAExpressionParser.MemberAccessExprContext context)
 {
     return(VisitChildren(context));
 }