package soot.JastAddJ;
import java.util.HashSet;import java.util.LinkedHashSet;import java.io.File;import java.util.*;import beaver.*;import java.util.ArrayList;import java.util.zip.*;import java.io.*;import java.io.FileNotFoundException;import java.util.Collection;import soot.*;import soot.util.*;import soot.jimple.*;import soot.coffi.ClassFile;import soot.coffi.method_info;import soot.coffi.CONSTANT_Utf8_info;import soot.tagkit.SourceFileTag;import soot.coffi.CoffiMethodSource;
public class MethodDescriptor extends java.lang.Object {
// Declared in BytecodeDescriptor.jrag at line 97
private BytecodeParser p;
// Declared in BytecodeDescriptor.jrag at line 98
private String parameterDescriptors;
// Declared in BytecodeDescriptor.jrag at line 99
private String typeDescriptor;
// Declared in BytecodeDescriptor.jrag at line 101
public MethodDescriptor(BytecodeParser parser, String name) {
p = parser;
int descriptor_index = p.u2();
String descriptor = ((CONSTANT_Utf8_Info) p.constantPool[descriptor_index]).string();
if(BytecodeParser.VERBOSE)
p.println(" Method: " + name + ", " + descriptor);
//String[] strings = descriptor.substring(1).split("\\)");
//parameterDescriptors = strings[0];
//typeDescriptor = strings[1];
int pos = descriptor.indexOf(')');
parameterDescriptors = descriptor.substring(1, pos);
typeDescriptor = descriptor.substring(pos+1, descriptor.length());
}
// Declared in BytecodeDescriptor.jrag at line 115
public List parameterList() {
TypeDescriptor d = new TypeDescriptor(p, parameterDescriptors);
return d.parameterList();
}
// Declared in BytecodeDescriptor.jrag at line 119
public List parameterListSkipFirst() {
TypeDescriptor d = new TypeDescriptor(p, parameterDescriptors);
return d.parameterListSkipFirst();
}
// Declared in BytecodeDescriptor.jrag at line 124
public Access type() {
TypeDescriptor d = new TypeDescriptor(p, typeDescriptor);
return d.type();
}
}