当前位置: 首页>>代码示例>>Java>>正文


Java LabelMethodItem类代码示例

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


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

示例1: SparseSwitchMethodItem

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public SparseSwitchMethodItem(MethodDefinition methodDefinition, CodeItem codeItem, int codeAddress,
                              SparseSwitchDataPseudoInstruction instruction) {
    super(codeItem, codeAddress, instruction);

    int baseCodeAddress = methodDefinition.getSparseSwitchBaseAddress(codeAddress);

    targets = new ArrayList<SparseSwitchTarget>();
    Iterator<SparseSwitchDataPseudoInstruction.SparseSwitchTarget> iterator = instruction.iterateKeysAndTargets();
    while (iterator.hasNext()) {
        SparseSwitchDataPseudoInstruction.SparseSwitchTarget target = iterator.next();
        SparseSwitchTarget sparseSwitchTarget = new SparseSwitchTarget();
        sparseSwitchTarget.Key = target.key;

        LabelMethodItem label = new LabelMethodItem(baseCodeAddress + target.targetAddressOffset, "sswitch_");
        label = methodDefinition.getLabelCache().internLabel(label);
        sparseSwitchTarget.Target = label;

        targets.add(sparseSwitchTarget);
    }
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:21,代码来源:SparseSwitchMethodItem.java

示例2: iterator

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public Iterator<LabelMethodItem> iterator() {
    return new Iterator<LabelMethodItem>() {
        private Iterator<SparseSwitchTarget> iterator = targets.iterator();

        public boolean hasNext() {
            return iterator.hasNext();
        }

        public LabelMethodItem next() {
            return iterator.next().Target;
        }

        public void remove() {
            iterator.remove();
        }
    };
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:18,代码来源:SparseSwitchMethodItem.java

示例3: OffsetInstructionFormatMethodItem

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public OffsetInstructionFormatMethodItem(@Nonnull baksmaliOptions options, @Nonnull MethodDefinition methodDef,
                                         int codeAddress, OffsetInstruction instruction) {
    super(methodDef, codeAddress, instruction);

    label = new LabelMethodItem(options, codeAddress + instruction.getCodeOffset(), getLabelPrefix());
    label = methodDef.getLabelCache().internLabel(label);
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:8,代码来源:OffsetInstructionFormatMethodItem.java

示例4: OffsetInstructionFormatMethodItem

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public OffsetInstructionFormatMethodItem(MethodDefinition.LabelCache labelCache, CodeItem codeItem, int codeAddress,
                                         T instruction) {
    super(codeItem, codeAddress, instruction);

    label = new LabelMethodItem(codeAddress + instruction.getTargetAddressOffset(), getLabelPrefix());
    label = labelCache.internLabel(label);
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:8,代码来源:OffsetInstructionFormatMethodItem.java

示例5: PackedSwitchMethodItem

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public PackedSwitchMethodItem(MethodDefinition methodDefinition, CodeItem codeItem, int codeAddress,
                              PackedSwitchDataPseudoInstruction instruction) {
    super(codeItem, codeAddress, instruction);

    int baseCodeAddress = methodDefinition.getPackedSwitchBaseAddress(codeAddress);

    labels = new ArrayList<LabelMethodItem>();
    Iterator<PackedSwitchDataPseudoInstruction.PackedSwitchTarget> iterator = instruction.iterateKeysAndTargets();
    while (iterator.hasNext()) {
        PackedSwitchDataPseudoInstruction.PackedSwitchTarget target = iterator.next();
        LabelMethodItem label = new LabelMethodItem(baseCodeAddress + target.targetAddressOffset, "pswitch_");
        label = methodDefinition.getLabelCache().internLabel(label);
        labels.add(label);
    }
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:16,代码来源:PackedSwitchMethodItem.java

示例6: writeTo

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
@Override
public boolean writeTo(IndentingWriter writer) throws IOException {
    writer.write(".packed-switch ");
    IntegerRenderer.writeTo(writer, instruction.getFirstKey());
    writer.indent(4);
    writer.write('\n');
    for (LabelMethodItem label: labels) {
        label.writeTo(writer);
        writer.write('\n');
    }
    writer.deindent(4);
    writer.write(".end packed-switch");
    return true;
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:15,代码来源:PackedSwitchMethodItem.java

示例7: OffsetInstructionFormatMethodItem

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public OffsetInstructionFormatMethodItem(MethodDefinition.LabelCache labelCache, CodeItem codeItem, int codeAddress,
                                         OffsetInstruction instruction) {
    super(codeItem, codeAddress, instruction);

    label = new LabelMethodItem(codeAddress + instruction.getTargetAddressOffset(), getLabelPrefix());
    label = labelCache.internLabel(label);
}
 
开发者ID:longluo,项目名称:smali,代码行数:8,代码来源:OffsetInstructionFormatMethodItem.java

示例8: getLabel

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public LabelMethodItem getLabel() {
    return label;
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:4,代码来源:OffsetInstructionFormatMethodItem.java

示例9: PackedSwitchLabelTarget

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public PackedSwitchLabelTarget(LabelMethodItem target) {
    this.target = target;
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:4,代码来源:PackedSwitchMethodItem.java

示例10: SparseSwitchLabelTarget

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public SparseSwitchLabelTarget(int key, LabelMethodItem target) {
    super(key);
    this.target = target;
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:5,代码来源:SparseSwitchMethodItem.java

示例11: iterator

import org.jf.baksmali.Adaptors.LabelMethodItem; //导入依赖的package包/类
public Iterator<LabelMethodItem> iterator() {
    return labels.iterator();
}
 
开发者ID:DocGerd,项目名称:DalvikSSA,代码行数:4,代码来源:PackedSwitchMethodItem.java


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