question: private MethodDef parse_method ( StrTok st ) { String method_name = st . need_word ( ) ; st . need ( "(" ) ; ArrayList < String > args = new ArrayList < > ( ) ; String tok = st . nextToken ( ) ; if ( tok != ")" ) { st . pushBack ( ) ; do { tok = st . need_word ( ) ; args . add ( tok ) ; } while ( st . nextToken ( ) == "," ) ; st . pushBack ( ) ; st . need ( ")" ) ; } Type [ ] targs = new Type [ args . size ( ) ] ; for ( int ii = 0 ; ii < args . size ( ) ; ii ++ ) { targs [ ii ] = BCELUtil . classname_to_type ( args . get ( ii ) ) ; } return new MethodDef ( method_name , targs ) ; }
target:  Parse a method declaration. The declaration should be in the following format: fully-qualified-method-name (args) where the arguments are comma separated and all arguments other than primitives should have fully-qualified names. Arrays are indicating by trailing brackets. For example: int int[] int[][] java.lang.String java.util.Date[] The arguments are translated into BCEL types and a MethodDef is returned.