本文整理汇总了Java中com.android.dx.rop.type.Type.BT_LONG属性的典型用法代码示例。如果您正苦于以下问题:Java Type.BT_LONG属性的具体用法?Java Type.BT_LONG怎么用?Java Type.BT_LONG使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类com.android.dx.rop.type.Type
的用法示例。
在下文中一共展示了Type.BT_LONG属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: opAput
/**
* Returns the appropriate {@code aput} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} element type of array being accessed
* @return {@code non-null;} an appropriate instance
*/
public static Rop opAput(TypeBearer type) {
switch (type.getBasicType()) {
case Type.BT_INT: return APUT_INT;
case Type.BT_LONG: return APUT_LONG;
case Type.BT_FLOAT: return APUT_FLOAT;
case Type.BT_DOUBLE: return APUT_DOUBLE;
case Type.BT_OBJECT: return APUT_OBJECT;
case Type.BT_BOOLEAN: return APUT_BOOLEAN;
case Type.BT_BYTE: return APUT_BYTE;
case Type.BT_CHAR: return APUT_CHAR;
case Type.BT_SHORT: return APUT_SHORT;
}
return throwBadType(type);
}
示例2: opNewArray
/**
* Returns the appropriate {@code new-array} rop for the given
* type. The result is a shared instance.
*
* @param arrayType {@code non-null;} array type of array being created
* @return {@code non-null;} an appropriate instance
*/
public static Rop opNewArray(TypeBearer arrayType) {
Type type = arrayType.getType();
Type elementType = type.getComponentType();
switch (elementType.getBasicType()) {
case Type.BT_INT: return NEW_ARRAY_INT;
case Type.BT_LONG: return NEW_ARRAY_LONG;
case Type.BT_FLOAT: return NEW_ARRAY_FLOAT;
case Type.BT_DOUBLE: return NEW_ARRAY_DOUBLE;
case Type.BT_BOOLEAN: return NEW_ARRAY_BOOLEAN;
case Type.BT_BYTE: return NEW_ARRAY_BYTE;
case Type.BT_CHAR: return NEW_ARRAY_CHAR;
case Type.BT_SHORT: return NEW_ARRAY_SHORT;
case Type.BT_OBJECT: {
return new Rop(RegOps.NEW_ARRAY, type, StdTypeList.INT,
Exceptions.LIST_Error_NegativeArraySizeException,
"new-array-object");
}
}
return throwBadType(type);
}
示例3: opGetStatic
/**
* Returns the appropriate {@code get-static} rop for the given
* type. The result is a shared instance.
*
* @param type {@code non-null;} type of the field in question
* @return {@code non-null;} an appropriate instance
*/
public static Rop opGetStatic(TypeBearer type) {
switch (type.getBasicType()) {
case Type.BT_INT: return GET_STATIC_INT;
case Type.BT_LONG: return GET_STATIC_LONG;
case Type.BT_FLOAT: return GET_STATIC_FLOAT;
case Type.BT_DOUBLE: return GET_STATIC_DOUBLE;
case Type.BT_OBJECT: return GET_STATIC_OBJECT;
case Type.BT_BOOLEAN: return GET_STATIC_BOOLEAN;
case Type.BT_BYTE: return GET_STATIC_BYTE;
case Type.BT_CHAR: return GET_STATIC_CHAR;
case Type.BT_SHORT: return GET_STATIC_SHORT;
}
return throwBadType(type);
}
示例4: opAget
/**
* Returns the appropriate {@code aget} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} element type of array being accessed
* @return {@code non-null;} an appropriate instance
*/
public static Rop opAget(TypeBearer type) {
switch (type.getBasicType()) {
case Type.BT_INT: return AGET_INT;
case Type.BT_LONG: return AGET_LONG;
case Type.BT_FLOAT: return AGET_FLOAT;
case Type.BT_DOUBLE: return AGET_DOUBLE;
case Type.BT_OBJECT: return AGET_OBJECT;
case Type.BT_BOOLEAN: return AGET_BOOLEAN;
case Type.BT_BYTE: return AGET_BYTE;
case Type.BT_CHAR: return AGET_CHAR;
case Type.BT_SHORT: return AGET_SHORT;
}
return throwBadType(type);
}
示例5: opGetField
/**
* Returns the appropriate {@code get-field} rop for the given
* type. The result is a shared instance.
*
* @param type {@code non-null;} type of the field in question
* @return {@code non-null;} an appropriate instance
*/
public static Rop opGetField(TypeBearer type) {
switch (type.getBasicType()) {
case Type.BT_INT: return GET_FIELD_INT;
case Type.BT_LONG: return GET_FIELD_LONG;
case Type.BT_FLOAT: return GET_FIELD_FLOAT;
case Type.BT_DOUBLE: return GET_FIELD_DOUBLE;
case Type.BT_OBJECT: return GET_FIELD_OBJECT;
case Type.BT_BOOLEAN: return GET_FIELD_BOOLEAN;
case Type.BT_BYTE: return GET_FIELD_BYTE;
case Type.BT_CHAR: return GET_FIELD_CHAR;
case Type.BT_SHORT: return GET_FIELD_SHORT;
}
return throwBadType(type);
}
示例6: forBoxedPrimitiveType
/**
* Returns an instance of this class that represents the wrapper
* class corresponding to a given primitive type. For example, if
* given {@link Type#INT}, this method returns the class reference
* {@code java.lang.Integer}.
*
* @param primitiveType {@code non-null;} the primitive type
* @return {@code non-null;} the corresponding wrapper class
*/
public static CstType forBoxedPrimitiveType(Type primitiveType) {
switch (primitiveType.getBasicType()) {
case Type.BT_BOOLEAN: return BOOLEAN;
case Type.BT_BYTE: return BYTE;
case Type.BT_CHAR: return CHARACTER;
case Type.BT_DOUBLE: return DOUBLE;
case Type.BT_FLOAT: return FLOAT;
case Type.BT_INT: return INTEGER;
case Type.BT_LONG: return LONG;
case Type.BT_SHORT: return SHORT;
case Type.BT_VOID: return VOID;
}
throw new IllegalArgumentException("not primitive: " + primitiveType);
}
示例7: zeroFor
/**
* Gets the "zero" (or {@code null}) value for the given type.
*
* @param type {@code non-null;} the type in question
* @return {@code non-null;} its "zero" value
*/
public static Constant zeroFor(Type type) {
switch (type.getBasicType()) {
case Type.BT_BOOLEAN: return CstBoolean.VALUE_FALSE;
case Type.BT_BYTE: return CstByte.VALUE_0;
case Type.BT_CHAR: return CstChar.VALUE_0;
case Type.BT_DOUBLE: return CstDouble.VALUE_0;
case Type.BT_FLOAT: return CstFloat.VALUE_0;
case Type.BT_INT: return CstInteger.VALUE_0;
case Type.BT_LONG: return CstLong.VALUE_0;
case Type.BT_SHORT: return CstShort.VALUE_0;
case Type.BT_OBJECT: return CstKnownNull.THE_ONE;
default: {
throw new UnsupportedOperationException("no zero for type: " +
type.toHuman());
}
}
}
示例8: opMoveParam
/**
* Returns the appropriate {@code move-param} rop for the
* given type. The result is a shared instance.
*
* @param type {@code non-null;} type of value being moved
* @return {@code non-null;} an appropriate instance
*/
public static Rop opMoveParam(TypeBearer type) {
switch (type.getBasicFrameType()) {
case Type.BT_INT: return MOVE_PARAM_INT;
case Type.BT_LONG: return MOVE_PARAM_LONG;
case Type.BT_FLOAT: return MOVE_PARAM_FLOAT;
case Type.BT_DOUBLE: return MOVE_PARAM_DOUBLE;
case Type.BT_OBJECT: return MOVE_PARAM_OBJECT;
}
return throwBadType(type);
}
示例9: opNot
/**
* Returns the appropriate {@code not} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} type of value being operated on
* @return {@code non-null;} an appropriate instance
*/
public static Rop opNot(TypeBearer type) {
switch (type.getBasicFrameType()) {
case Type.BT_INT: return NOT_INT;
case Type.BT_LONG: return NOT_LONG;
}
return throwBadType(type);
}
示例10: opNeg
/**
* Returns the appropriate {@code neg} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} type of value being operated on
* @return {@code non-null;} an appropriate instance
*/
public static Rop opNeg(TypeBearer type) {
switch (type.getBasicFrameType()) {
case Type.BT_INT: return NEG_INT;
case Type.BT_LONG: return NEG_LONG;
case Type.BT_FLOAT: return NEG_FLOAT;
case Type.BT_DOUBLE: return NEG_DOUBLE;
}
return throwBadType(type);
}
示例11: opCmpl
/**
* Returns the appropriate {@code cmpl} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} type of value being compared
* @return {@code non-null;} an appropriate instance
*/
public static Rop opCmpl(TypeBearer type) {
switch (type.getBasicType()) {
case Type.BT_LONG: return CMPL_LONG;
case Type.BT_FLOAT: return CMPL_FLOAT;
case Type.BT_DOUBLE: return CMPL_DOUBLE;
}
return throwBadType(type);
}
示例12: opMarkLocal
/**
* Returns the appropriate {@code mark-local} rop for the given type.
* The result is a shared instance.
*
* @param type {@code non-null;} type of value being marked
* @return {@code non-null;} an appropriate instance
*/
public static Rop opMarkLocal(TypeBearer type) {
switch (type.getBasicFrameType()) {
case Type.BT_INT: return MARK_LOCAL_INT;
case Type.BT_LONG: return MARK_LOCAL_LONG;
case Type.BT_FLOAT: return MARK_LOCAL_FLOAT;
case Type.BT_DOUBLE: return MARK_LOCAL_DOUBLE;
case Type.BT_OBJECT: return MARK_LOCAL_OBJECT;
}
return throwBadType(type);
}
示例13: pickBinaryOp
/**
* Returns the appropriate binary arithmetic rop for the given type
* and arguments. The result is a shared instance.
*
* @param types {@code non-null;} sources of the operation
* @param int1 {@code non-null;} the int-to-constant rop
* @param long1 {@code non-null;} the long-to-constant rop
* @param float1 {@code null-ok;} the float-to-constant rop, if any
* @param double1 {@code null-ok;} the double-to-constant rop, if any
* @param int2 {@code non-null;} the int-to-int rop
* @param long2 {@code non-null;} the long-to-long or long-to-int rop
* @param float2 {@code null-ok;} the float-to-float rop, if any
* @param double2 {@code null-ok;} the double-to-double rop, if any
* @return {@code non-null;} an appropriate instance
*/
private static Rop pickBinaryOp(TypeList types, Rop int1, Rop long1,
Rop float1, Rop double1, Rop int2,
Rop long2, Rop float2, Rop double2) {
int bt1 = types.getType(0).getBasicFrameType();
Rop result = null;
switch (types.size()) {
case 1: {
switch(bt1) {
case Type.BT_INT: return int1;
case Type.BT_LONG: return long1;
case Type.BT_FLOAT: result = float1; break;
case Type.BT_DOUBLE: result = double1; break;
}
break;
}
case 2: {
switch(bt1) {
case Type.BT_INT: return int2;
case Type.BT_LONG: return long2;
case Type.BT_FLOAT: result = float2; break;
case Type.BT_DOUBLE: result = double2; break;
}
break;
}
}
if (result == null) {
return throwBadTypes(types);
}
return result;
}
示例14: opMove
/**
* Returns the appropriate {@code move} rop for the given type. The
* result is a shared instance.
*
* @param type {@code non-null;} type of value being moved
* @return {@code non-null;} an appropriate instance
*/
public static Rop opMove(TypeBearer type) {
switch (type.getBasicFrameType()) {
case Type.BT_INT: return MOVE_INT;
case Type.BT_LONG: return MOVE_LONG;
case Type.BT_FLOAT: return MOVE_FLOAT;
case Type.BT_DOUBLE: return MOVE_DOUBLE;
case Type.BT_OBJECT: return MOVE_OBJECT;
case Type.BT_ADDR: return MOVE_RETURN_ADDRESS;
}
return throwBadType(type);
}
示例15: opConv
/**
* Returns the appropriate {@code conv} rop for the given types. The
* result is a shared instance.
*
* @param dest {@code non-null;} target value type
* @param source {@code non-null;} source value type
* @return {@code non-null;} an appropriate instance
*/
public static Rop opConv(TypeBearer dest, TypeBearer source) {
int dbt = dest.getBasicFrameType();
switch (source.getBasicFrameType()) {
case Type.BT_INT: {
switch (dbt) {
case Type.BT_LONG: return CONV_I2L;
case Type.BT_FLOAT: return CONV_I2F;
case Type.BT_DOUBLE: return CONV_I2D;
default: break;
}
}
case Type.BT_LONG: {
switch (dbt) {
case Type.BT_INT: return CONV_L2I;
case Type.BT_FLOAT: return CONV_L2F;
case Type.BT_DOUBLE: return CONV_L2D;
default: break;
}
}
case Type.BT_FLOAT: {
switch (dbt) {
case Type.BT_INT: return CONV_F2I;
case Type.BT_LONG: return CONV_F2L;
case Type.BT_DOUBLE: return CONV_F2D;
default: break;
}
}
case Type.BT_DOUBLE: {
switch (dbt) {
case Type.BT_INT: return CONV_D2I;
case Type.BT_LONG: return CONV_D2L;
case Type.BT_FLOAT: return CONV_D2F;
default: break;
}
}
}
return throwBadTypes(StdTypeList.make(dest.getType(),
source.getType()));
}