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); }
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]); }
/// <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)); }
/// <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) { }