Example #1
0
        public override int VisitDot_notation(BRAQParser.Dot_notationContext context)
        {
            if (context.basee == null)
            {
                return(context.single_name.Accept(this));
            }
            MethodInfo mi = function_table[GetDeepToken(context.target)];

            if (!mi.IsStatic)
            {
                context.basee.Accept(this);
            }
            context.target.Accept(this);
            return(0);
        }
Example #2
0
        public override Type VisitDot_notation(BRAQParser.Dot_notationContext context)
        {
            //TODO multiple dots (System.IO.FIle.Create())
            if (context.basee == null)
            {
                return(type_dict[context] = context.single_name.Accept(this));
            }

            type_dict[context] = context.basee.Accept(this);

            dot_prefix_type = type_dict[context];

            context.target.Accept(this);

            dot_prefix_type = null;

            return(type_dict[context] = type_dict[context.target]);
        }
Example #3
0
 /// <summary>
 /// Visit a parse tree produced by <see cref="BRAQParser.dot_notation"/>.
 /// <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 VisitDot_notation([NotNull] BRAQParser.Dot_notationContext context)
 {
     return(VisitChildren(context));
 }
Example #4
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="BRAQParser.dot_notation"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitDot_notation([NotNull] BRAQParser.Dot_notationContext context)
 {
 }