public void VisitThisRef(ThisRef thisRef) { // Everything is expected to be inlined, // "this" is expected to be constant // => nothing to do // however... throw new NotSupportedException(); }
/// <summary> /// Visits the "this" reference literal. The default implementation saves it to <c>_tlit</c>. /// </summary> /// <param name="thisRef">"this" reference literal</param> public virtual void VisitThisRef(ThisRef thisRef) { _tlit = thisRef; }
public object EvalThisRef(ThisRef thisRef) { return(DoEvalThisRef(thisRef)); }
public object DefaultEvalThisRef(ThisRef thisRef) { return(ThisRef.DefaultEval(thisRef)); }
// $ANTLR start "primaryExpression" // JavaScript.g:330:1: primaryExpression : ( 'this' | Identifier | literal | arrayLiteral | objectLiteral | '(' expression ')' ); public JavaScriptParser.primaryExpression_return primaryExpression() // throws RecognitionException [1] { JavaScriptParser.primaryExpression_return retval = new JavaScriptParser.primaryExpression_return(); retval.Start = input.LT(1); object root_0 = null; IToken string_literal396 = null; IToken Identifier397 = null; IToken char_literal401 = null; IToken char_literal403 = null; JavaScriptParser.literal_return literal398 = default(JavaScriptParser.literal_return); JavaScriptParser.arrayLiteral_return arrayLiteral399 = default(JavaScriptParser.arrayLiteral_return); JavaScriptParser.objectLiteral_return objectLiteral400 = default(JavaScriptParser.objectLiteral_return); JavaScriptParser.expression_return expression402 = default(JavaScriptParser.expression_return); object string_literal396_tree=null; object Identifier397_tree=null; object char_literal401_tree=null; object char_literal403_tree=null; try { // JavaScript.g:331:2: ( 'this' | Identifier | literal | arrayLiteral | objectLiteral | '(' expression ')' ) int alt201 = 6; switch ( input.LA(1) ) { case 111: { alt201 = 1; } break; case Identifier: { alt201 = 2; } break; case StringLiteral: case NumericLiteral: case RegexLiteral: case 112: case 113: case 114: { alt201 = 3; } break; case 67: { alt201 = 4; } break; case 40: { alt201 = 5; } break; case 42: { alt201 = 6; } break; default: if ( state.backtracking > 0 ) {state.failed = true; return retval;} NoViableAltException nvae_d201s0 = new NoViableAltException("", 201, 0, input); throw nvae_d201s0; } switch (alt201) { case 1 : // JavaScript.g:331:4: 'this' { root_0 = (object)adaptor.GetNilNode(); string_literal396=(IToken)Match(input,111,FOLLOW_111_in_primaryExpression3017); if (state.failed) return retval; if ( state.backtracking == 0 ) {string_literal396_tree = new ThisRef(string_literal396) ; adaptor.AddChild(root_0, string_literal396_tree); } } break; case 2 : // JavaScript.g:332:4: Identifier { root_0 = (object)adaptor.GetNilNode(); Identifier397=(IToken)Match(input,Identifier,FOLLOW_Identifier_in_primaryExpression3026); if (state.failed) return retval; if ( state.backtracking == 0 ) {Identifier397_tree = new IdentifierNode(Identifier397) ; adaptor.AddChild(root_0, Identifier397_tree); } } break; case 3 : // JavaScript.g:333:4: literal { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_literal_in_primaryExpression3034); literal398 = literal(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, literal398.Tree); } break; case 4 : // JavaScript.g:334:4: arrayLiteral { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_arrayLiteral_in_primaryExpression3040); arrayLiteral399 = arrayLiteral(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, arrayLiteral399.Tree); } break; case 5 : // JavaScript.g:335:4: objectLiteral { root_0 = (object)adaptor.GetNilNode(); PushFollow(FOLLOW_objectLiteral_in_primaryExpression3046); objectLiteral400 = objectLiteral(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, objectLiteral400.Tree); } break; case 6 : // JavaScript.g:336:4: '(' expression ')' { root_0 = (object)adaptor.GetNilNode(); char_literal401=(IToken)Match(input,42,FOLLOW_42_in_primaryExpression3052); if (state.failed) return retval; PushFollow(FOLLOW_expression_in_primaryExpression3055); expression402 = expression(); state.followingStackPointer--; if (state.failed) return retval; if ( state.backtracking == 0 ) adaptor.AddChild(root_0, expression402.Tree); char_literal403=(IToken)Match(input,44,FOLLOW_44_in_primaryExpression3057); if (state.failed) return retval; } break; } retval.Stop = input.LT(-1); if ( (state.backtracking==0) ) { retval.Tree = (object)adaptor.RulePostProcessing(root_0); adaptor.SetTokenBoundaries(retval.Tree, (IToken) retval.Start, (IToken) retval.Stop);} } catch (RecognitionException re) { ReportError(re); Recover(input,re); // Conversion of the second argument necessary, but harmless retval.Tree = (object)adaptor.ErrorNode(input, (IToken) retval.Start, input.LT(-1), re); } finally { } return retval; }
public void VisitThisRef(ThisRef thisRef) { _result = thisRef; }
public void VisitThisRef(ThisRef thisRef) { throw new NotSupportedException(); }