public virtual Object Visit(ASTMethod node, Object data)
		{
			data = node.ChildrenAccept(this, data);
			return data;
		}
Example #2
0
		/// <summary> This method has yet to be fully implemented
		/// but will allow arbitrarily nested method
		/// calls
		/// </summary>
		public void Method()
		{
			/*@bgen(jjtree) Method */
			ASTMethod jjtn000 = new ASTMethod(this, ParserTreeConstants.METHOD);
			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
			{
				Identifier();
				ConsumeToken(ParserConstants.LPAREN);
				switch(GetCurrentTokenKind())
				{
					case ParserConstants.LBRACKET:
					case ParserConstants.WHITESPACE:
					case ParserConstants.STRING_LITERAL:
					case ParserConstants.TRUE:
					case ParserConstants.FALSE:
					case ParserConstants.NUMBER_LITERAL:
					case ParserConstants.IDENTIFIER:
					case ParserConstants.LCURLY:
						Parameter();
						while(true)
						{
							switch(GetCurrentTokenKind())
							{
								case ParserConstants.COMMA:
									break;
								default:
									jj_la1[21] = 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_6_brk;
							}
							ConsumeToken(ParserConstants.COMMA);
							Parameter();
						}
						//UPGRADE_NOTE: Label 'label_6_brk' was added. 'ms-help://MS.VSCC/commoner/redir/redirect.htm?keyword="jlca1011"'
						label_6_brk:
						;

						break;

					default:
						jj_la1[22] = jj_gen;
						;
						break;
				}
				ConsumeToken(ParserConstants.REFMOD2_RPAREN);
			}
			catch(System.Exception jjte000)
			{
				if (jjtc000)
				{
					nodeTree.ClearNodeScope(jjtn000);
					jjtc000 = false;
				}
				else
				{
					nodeTree.PopNode();
				}
				if (jjte000 is SystemException)
				{
					throw;
				}
				if (jjte000 is ParseException)
				{
					throw;
				}
				throw (ApplicationException) jjte000;
			}
			finally
			{
				if (jjtc000)
				{
					nodeTree.CloseNodeScope(jjtn000, true);
				}
			}
		}
		/// <summary>Display an ASTMethod node
		/// </summary>
		public override Object Visit(ASTMethod node, Object data)
		{
			return ShowNode(node, data);
		}