public MethodType(String signature) {
		super(TC_METHOD);
		this.signature = signature;
		int index = 1, types = 0;
		while (signature.charAt(index) != ')') {
			types++;
			while (signature.charAt(index) == '[')
				index++;
			if (signature.charAt(index) == 'L')
				index = signature.indexOf(';', index);
			index++;
		}
		parameterTypes = new Type[types];

		index = 1;
		types = 0;
		while (signature.charAt(index) != ')') {
			int lastindex = index;
			while (signature.charAt(index) == '[')
				index++;
			if (signature.charAt(index) == 'L')
				index = signature.indexOf(';', index);
			index++;
			parameterTypes[types++] = Type.tType(signature.substring(lastindex,
					index));
		}
		returnType = Type.tType(signature.substring(index + 1));
	}