public override object Visit(OnErrorStatement onErrorStatement, object data)
 {
     return null;
 }
 public object Visit(OnErrorStatement onErrorStatement, object data)
 {
     DebugOutput(onErrorStatement);
     AppendIndentation();
     sourceText.Append("// TODO: NotImplemented statement: ");
     sourceText.Append(onErrorStatement);
     AppendNewLine();
     return null;
 }
示例#3
0
	void OnErrorStatement(
#line  2346 "VBNET.ATG" 
out OnErrorStatement stmt) {

#line  2348 "VBNET.ATG" 
		stmt = null;
		GoToStatement goToStatement = null;
		
		Expect(136);
		Expect(93);
		if (
#line  2354 "VBNET.ATG" 
IsNegativeLabelName()) {
			Expect(105);
			Expect(15);
			Expect(5);

#line  2356 "VBNET.ATG" 
			long intLabel = Int64.Parse(t.val);
			if(intLabel != 1) {
				Error("invalid label in on error statement.");
			}
			stmt = new OnErrorStatement(new GoToStatement((intLabel * -1).ToString()));
			
		} else if (la.kind == 105) {
			GoToStatement(
#line  2362 "VBNET.ATG" 
out goToStatement);

#line  2364 "VBNET.ATG" 
			string val = goToStatement.LabelName;
			
			// if value is numeric, make sure that is 0
			try {
				long intLabel = Int64.Parse(val);
				if(intLabel != 0) {
					Error("invalid label in on error statement.");
				}
			} catch {
			}
			stmt = new OnErrorStatement(goToStatement);
			
		} else if (la.kind == 155) {
			lexer.NextToken();
			Expect(129);

#line  2378 "VBNET.ATG" 
			stmt = new OnErrorStatement(new ResumeStatement(true));
			
		} else SynErr(237);
	}
 public virtual object Visit(OnErrorStatement onErrorStatement, object data)
 {
     return onErrorStatement.EmbeddedStatement.AcceptVisitor(this, data);
 }