public abstract Template Visit(RefType type);
public override Template Visit(RefType type) { Template template = new Template("<type>&"); template.Add("type", type.Type.Accept(this)); return template; }
private SugarType type_ref() { EnterRule_type_ref(); EnterRule("type_ref", 18); TraceIn("type_ref", 18); SugarType value = default(SugarType); SugarType a = default(SugarType); try { DebugEnterRule(GrammarFileName, "type_ref"); DebugLocation(237, 1); try { // SugarWalker.g:238:2: ( ^( Type_Ref a= type_name ) ) DebugEnterAlt(1); // SugarWalker.g:238:4: ^( Type_Ref a= type_name ) { DebugLocation(238, 4); DebugLocation(238, 6); Match(input,Type_Ref,Follow._Type_Ref_in_type_ref988); Match(input, TokenTypes.Down, null); DebugLocation(238, 16); PushFollow(Follow._type_name_in_type_ref992); a=type_name(); PopFollow(); Match(input, TokenTypes.Up, null); DebugLocation(239, 2); value = new RefType(a); } } catch (RecognitionException re) { ReportError(re); Recover(input,re); } finally { TraceOut("type_ref", 18); LeaveRule("type_ref", 18); LeaveRule_type_ref(); } DebugLocation(242, 1); } finally { DebugExitRule(GrammarFileName, "type_ref"); } return value; }