• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java CstLong类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.android.dx.rop.cst.CstLong的典型用法代码示例。如果您正苦于以下问题:Java CstLong类的具体用法?Java CstLong怎么用?Java CstLong使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



CstLong类属于com.android.dx.rop.cst包,在下文中一共展示了CstLong类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: AttConstantValue

import com.android.dx.rop.cst.CstLong; //导入依赖的package包/类
/**
 * Constructs an instance.
 *
 * @param constantValue {@code non-null;} the constant value, which must
 * be an instance of one of: {@code CstString},
 * {@code CstInteger}, {@code CstLong},
 * {@code CstFloat}, or {@code CstDouble}
 */
public AttConstantValue(TypedConstant constantValue) {
    super(ATTRIBUTE_NAME);

    if (!((constantValue instanceof CstString) ||
           (constantValue instanceof CstInteger) ||
           (constantValue instanceof CstLong) ||
           (constantValue instanceof CstFloat) ||
           (constantValue instanceof CstDouble))) {
        if (constantValue == null) {
            throw new NullPointerException("constantValue == null");
        }
        throw new IllegalArgumentException("bad type for constantValue");
    }

    this.constantValue = constantValue;
}
 
开发者ID:JLLK,项目名称:multidex-maker,代码行数:25,代码来源:AttConstantValue.java


示例2: getConstant

import com.android.dx.rop.cst.CstLong; //导入依赖的package包/类
/**
 * Returns a rop constant for the specified value.
 *
 * @param value null, a boxed primitive, String, Class, or TypeId.
 */
static TypedConstant getConstant(Object value) {
    if (value == null) {
        return CstKnownNull.THE_ONE;
    } else if (value instanceof Boolean) {
        return CstBoolean.make((Boolean) value);
    } else if (value instanceof Byte) {
        return CstByte.make((Byte) value);
    } else if (value instanceof Character) {
        return CstChar.make((Character) value);
    } else if (value instanceof Double) {
        return CstDouble.make(Double.doubleToLongBits((Double) value));
    } else if (value instanceof Float) {
        return CstFloat.make(Float.floatToIntBits((Float) value));
    } else if (value instanceof Integer) {
        return CstInteger.make((Integer) value);
    } else if (value instanceof Long) {
        return CstLong.make((Long) value);
    } else if (value instanceof Short) {
        return CstShort.make((Short) value);
    } else if (value instanceof String) {
        return new CstString((String) value);
    } else if (value instanceof Class) {
        return new CstType(TypeId.get((Class<?>) value).ropType);
    } else if (value instanceof TypeId) {
        return new CstType(((TypeId) value).ropType);
    } else {
        throw new UnsupportedOperationException("Not a constant: " + value);
    }
}
 
开发者ID:linkedin,项目名称:dexmaker,代码行数:35,代码来源:Constants.java


示例3: constantToValueType

import com.android.dx.rop.cst.CstLong; //导入依赖的package包/类
/**
 * Gets the value type for the given constant.
 *
 * @param cst {@code non-null;} the constant
 * @return the value type; one of the {@code VALUE_*} constants
 * defined by this class
 */
private static int constantToValueType(Constant cst) {
    /*
     * TODO: Constant should probable have an associated enum, so this
     * can be a switch().
     */
    if (cst instanceof CstByte) {
        return VALUE_BYTE;
    } else if (cst instanceof CstShort) {
        return VALUE_SHORT;
    } else if (cst instanceof CstChar) {
        return VALUE_CHAR;
    } else if (cst instanceof CstInteger) {
        return VALUE_INT;
    } else if (cst instanceof CstLong) {
        return VALUE_LONG;
    } else if (cst instanceof CstFloat) {
        return VALUE_FLOAT;
    } else if (cst instanceof CstDouble) {
        return VALUE_DOUBLE;
    } else if (cst instanceof CstString) {
        return VALUE_STRING;
    } else if (cst instanceof CstType) {
        return VALUE_TYPE;
    } else if (cst instanceof CstFieldRef) {
        return VALUE_FIELD;
    } else if (cst instanceof CstMethodRef) {
        return VALUE_METHOD;
    } else if (cst instanceof CstEnumRef) {
        return VALUE_ENUM;
    } else if (cst instanceof CstArray) {
        return VALUE_ARRAY;
    } else if (cst instanceof CstAnnotation) {
        return VALUE_ANNOTATION;
    } else if (cst instanceof CstKnownNull) {
        return VALUE_NULL;
    } else if (cst instanceof CstBoolean) {
        return VALUE_BOOLEAN;
    } else {
        throw new RuntimeException("Shouldn't happen");
    }
}
 
开发者ID:JLLK,项目名称:multidex-maker,代码行数:49,代码来源:ValueEncoder.java


示例4: visitConstant

import com.android.dx.rop.cst.CstLong; //导入依赖的package包/类
/** {@inheritDoc} */
public void visitConstant(int opcode, int offset, int length,
        Constant cst, int value) {
    if (cst instanceof CstKnownNull) {
        // This is aconst_null.
        visitNoArgs(opcode, offset, length, null);
        return;
    }

    if (cst instanceof CstInteger) {
        visitLiteralInt(opcode, offset, length, value);
        return;
    }

    if (cst instanceof CstLong) {
        visitLiteralLong(opcode, offset, length,
                         ((CstLong) cst).getValue());
        return;
    }

    if (cst instanceof CstFloat) {
        visitLiteralFloat(opcode, offset, length,
                          ((CstFloat) cst).getIntBits());
        return;
    }

    if (cst instanceof CstDouble) {
        visitLiteralDouble(opcode, offset, length,
                         ((CstDouble) cst).getLongBits());
        return;
    }

    String valueStr = "";
    if (value != 0) {
        valueStr = ", ";
        if (opcode == ByteOps.MULTIANEWARRAY) {
            valueStr += Hex.u1(value);
        } else {
            valueStr += Hex.u2(value);
        }
    }

    observer.parsed(bytes, offset, length,
                    header(offset) + " " + cst + valueStr);
}
 
开发者ID:JLLK,项目名称:multidex-maker,代码行数:46,代码来源:CodeObserver.java



注:本文中的com.android.dx.rop.cst.CstLong类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ConsoleLogFilter类代码示例发布时间:2022-05-22
下一篇:
Java BiomeForest类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap