public int typeCode() {
		if (desc.length() == 1) {
			switch (desc.charAt(0)) {
			case BOOLEAN_CHAR:
				return Type.BOOLEAN_CODE;
			case CHARACTER_CHAR:
				return Type.CHARACTER_CODE;
			case FLOAT_CHAR:
				return Type.FLOAT_CODE;
			case DOUBLE_CHAR:
				return Type.DOUBLE_CODE;
			case BYTE_CHAR:
				return Type.BYTE_CODE;
			case SHORT_CHAR:
				return Type.SHORT_CODE;
			case INTEGER_CHAR:
				return Type.INTEGER_CODE;
			case LONG_CHAR:
				return Type.LONG_CODE;
			}
		}

		throw new IllegalArgumentException("Invalid type descriptor: " + desc);
	}