public static JavaComputationalCategory getComputationalCategoryOfDescriptor(
			String descriptor) {
		//all references to objects start with "L"
		//all references to arrays start with "["
		//all other descriptors are just one letter. 
		switch (descriptor.charAt(0)) {
			case BASE_TYPE_BYTE:  //signed byte
			case BASE_TYPE_CHAR:  //char
			case BASE_TYPE_FLOAT:  //float
			case BASE_TYPE_INT:  //int
			case BASE_TYPE_REFERENCE:  //object reference
			case BASE_TYPE_SHORT:  //signed short
			case BASE_TYPE_BOOLEAN:  //boolean
			case BASE_TYPE_ARRAY:  //array dimension
				return JavaComputationalCategory.CAT_1;
			case BASE_TYPE_DOUBLE:  //double
			case BASE_TYPE_LONG:  //long
				return JavaComputationalCategory.CAT_2;
			case BASE_TYPE_VOID:  //void (only for return types)
				return JavaComputationalCategory.VOID;
			default:
				throw new IllegalArgumentException("Invalid computational category: " + descriptor);
		}
	}
Returns the computational category of a given parameter or field descriptor
@param descriptor
@return
Ghidra/Processors/JVM/src/main/java/ghidra/javaclass/format/DescriptorDecoder.java