Ejemplo n.º 1
0
		public virtual Object Visit(ASTElseIfStatement node, Object data)
		{
			data = node.ChildrenAccept(this, data);
			return data;
		}
Ejemplo n.º 2
0
		public void ElseIfStatement()
		{
			/*@bgen(jjtree) ElseIfStatement */
			ASTElseIfStatement jjtn000 = new ASTElseIfStatement(this, ParserTreeConstants.ELSE_IF_STATEMENT);
			bool jjtc000 = true;
			nodeTree.OpenNodeScope(jjtn000);
			//UPGRADE_NOTE: Exception 'java.lang.Throwable' was converted to ' ' which has different behavior. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1100"'
			try
			{
				ConsumeToken(ParserConstants.ELSEIF_DIRECTIVE);
				switch(GetCurrentTokenKind())
				{
					case ParserConstants.WHITESPACE:
						ConsumeToken(ParserConstants.WHITESPACE);
						break;

					default:
						jj_la1[33] = jj_gen;
						break;
				}
				ConsumeToken(ParserConstants.LPAREN);
				Expression();
				ConsumeToken(ParserConstants.RPAREN);
				ASTBlock jjtn001 = new ASTBlock(this, ParserTreeConstants.BLOCK);
				bool jjtc001 = true;
				nodeTree.OpenNodeScope(jjtn001);
				//UPGRADE_NOTE: Exception 'java.lang.Throwable' was converted to ' ' which has different behavior. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1100"'
				try
				{
					while(true)
					{
						Statement();
						switch(GetCurrentTokenKind())
						{
							case ParserConstants.LPAREN:
							case ParserConstants.RPAREN:
							case ParserConstants.ESCAPE_DIRECTIVE:
							case ParserConstants.SET_DIRECTIVE:
							case ParserConstants.DOUBLE_ESCAPE:
							case ParserConstants.ESCAPE:
							case ParserConstants.TEXT:
							case ParserConstants.SINGLE_LINE_COMMENT:
							case ParserConstants.FORMAL_COMMENT:
							case ParserConstants.MULTI_LINE_COMMENT:
							case ParserConstants.STRING_LITERAL:
							case ParserConstants.IF_DIRECTIVE:
							case ParserConstants.STOP_DIRECTIVE:
							case ParserConstants.NUMBER_LITERAL:
							case ParserConstants.WORD:
							case ParserConstants.IDENTIFIER:
							case ParserConstants.DOT:
							case ParserConstants.LCURLY:
							case ParserConstants.RCURLY:
								;
								break;

							default:
								jj_la1[34] = jj_gen;
								//UPGRADE_NOTE: Labeled break statement was changed to a goto statement. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1012"'
								goto label_12_brk;
						}
					}
					//UPGRADE_NOTE: Label 'label_12_brk' was added. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1011"'
					label_12_brk:
					;
				}
				catch(System.Exception exception)
				{
					nodeTree.ClearNodeScope(jjtn001);
					jjtc001 = false;
					if (exception is SystemException)
					{
						throw;
					}
					if (exception is ParseException)
					{
						throw;
					}
					throw (ApplicationException) exception;
				}
				finally
				{
					if (jjtc001)
					{
						nodeTree.CloseNodeScope(jjtn001, true);
					}
				}
			}
			catch(System.Exception exception)
			{
				nodeTree.ClearNodeScope(jjtn000);
				jjtc000 = false;
				if (exception is SystemException)
				{
					throw;
				}
				if (exception is ParseException)
				{
					throw;
				}
				throw (ApplicationException) exception;
			}
			finally
			{
				if (jjtc000)
				{
					nodeTree.CloseNodeScope(jjtn000, true);
				}
			}
		}
Ejemplo n.º 3
0
		/// <summary>Display an ASTElseIfStatement node
		/// </summary>
		public override Object Visit(ASTElseIfStatement node, Object data)
		{
			return ShowNode(node, data);
		}