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


Java DebugItemType.RESTART_LOCAL属性代码示例

本文整理汇总了Java中org.jf.dexlib2.DebugItemType.RESTART_LOCAL属性的典型用法代码示例。如果您正苦于以下问题:Java DebugItemType.RESTART_LOCAL属性的具体用法?Java DebugItemType.RESTART_LOCAL怎么用?Java DebugItemType.RESTART_LOCAL使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.jf.dexlib2.DebugItemType的用法示例。


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

示例1: build

public static DebugMethodItem build(RegisterFormatter registerFormatter, DebugItem debugItem) {
    int codeAddress = debugItem.getCodeAddress();
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return new StartLocalMethodItem(codeAddress, -1, registerFormatter, (StartLocal)debugItem);
        case DebugItemType.END_LOCAL:
            return new EndLocalMethodItem(codeAddress, -1, registerFormatter, (EndLocal)debugItem);
        case DebugItemType.RESTART_LOCAL:
            return new RestartLocalMethodItem(codeAddress, -1, registerFormatter, (RestartLocal)debugItem);
        case DebugItemType.EPILOGUE_BEGIN:
            return new BeginEpilogueMethodItem(codeAddress, -4);
        case DebugItemType.PROLOGUE_END:
            return new EndPrologueMethodItem(codeAddress, -4);
        case DebugItemType.SET_SOURCE_FILE:
            return new SetSourceFileMethodItem(codeAddress, -3, (SetSourceFile)debugItem);
        case DebugItemType.LINE_NUMBER:
            return new LineNumberMethodItem(codeAddress, -2, (LineNumber)debugItem);
        default:
            throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:21,代码来源:DebugMethodItem.java

示例2: of

@Nonnull
public static ImmutableDebugItem of(DebugItem debugItem) {
    if (debugItem instanceof ImmutableDebugItem) {
        return (ImmutableDebugItem)debugItem;
    }
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return ImmutableStartLocal.of((StartLocal)debugItem);
        case DebugItemType.END_LOCAL:
            return ImmutableEndLocal.of((EndLocal)debugItem);
        case DebugItemType.RESTART_LOCAL:
            return ImmutableRestartLocal.of((RestartLocal)debugItem);
        case DebugItemType.PROLOGUE_END:
            return ImmutablePrologueEnd.of((PrologueEnd)debugItem);
        case DebugItemType.EPILOGUE_BEGIN:
            return ImmutableEpilogueBegin.of((EpilogueBegin)debugItem);
        case DebugItemType.SET_SOURCE_FILE:
            return ImmutableSetSourceFile.of((SetSourceFile)debugItem);
        case DebugItemType.LINE_NUMBER:
            return ImmutableLineNumber.of((LineNumber)debugItem);
        default:
            throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:24,代码来源:ImmutableDebugItem.java

示例3: of

public static ImmutableDebugItem of(DebugItem debugItem) {
    if (debugItem instanceof ImmutableDebugItem) {
        return (ImmutableDebugItem)debugItem;
    }
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return ImmutableStartLocal.of((StartLocal)debugItem);
        case DebugItemType.END_LOCAL:
            return ImmutableEndLocal.of((EndLocal)debugItem);
        case DebugItemType.RESTART_LOCAL:
            return ImmutableRestartLocal.of((RestartLocal)debugItem);
        case DebugItemType.PROLOGUE_END:
            return ImmutablePrologueEnd.of((PrologueEnd)debugItem);
        case DebugItemType.EPILOGUE_BEGIN:
            return ImmutableEpilogueBegin.of((EpilogueBegin)debugItem);
        case DebugItemType.SET_SOURCE_FILE:
            return ImmutableSetSourceFile.of((SetSourceFile)debugItem);
        case DebugItemType.LINE_NUMBER:
            return ImmutableLineNumber.of((LineNumber)debugItem);
        default:
            throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:23,代码来源:ImmutableDebugItem.java

示例4: of

@Nonnull
public static ImmutableDebugItem of(DebugItem debugItem) {
    if (debugItem instanceof ImmutableDebugItem) {
        return (ImmutableDebugItem) debugItem;
    }
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return ImmutableStartLocal.of((StartLocal) debugItem);
        case DebugItemType.END_LOCAL:
            return ImmutableEndLocal.of((EndLocal) debugItem);
        case DebugItemType.RESTART_LOCAL:
            return ImmutableRestartLocal.of((RestartLocal) debugItem);
        case DebugItemType.PROLOGUE_END:
            return ImmutablePrologueEnd.of((PrologueEnd) debugItem);
        case DebugItemType.EPILOGUE_BEGIN:
            return ImmutableEpilogueBegin.of((EpilogueBegin) debugItem);
        case DebugItemType.SET_SOURCE_FILE:
            return ImmutableSetSourceFile.of((SetSourceFile) debugItem);
        case DebugItemType.LINE_NUMBER:
            return ImmutableLineNumber.of((LineNumber) debugItem);
        default:
            throw new ExceptionWithContext("Invalid debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:24,代码来源:ImmutableDebugItem.java

示例5: convertDebugItem

@Nonnull
private BuilderDebugItem convertDebugItem(@Nonnull DebugItem debugItem) {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal) debugItem;
            return new BuilderStartLocal(startLocal.getRegister(),
                    (StringReference) convertReference(startLocal.getNameReference()),
                    (TypeReference) convertReference(startLocal.getTypeReference()),
                    (StringReference) convertReference(startLocal.getSignatureReference()));
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal) debugItem;
            return new BuilderEndLocal(endLocal.getRegister());
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal) debugItem;
            return new BuilderRestartLocal(restartLocal.getRegister());
        }
        case DebugItemType.PROLOGUE_END:
            return new BuilderPrologueEnd();
        case DebugItemType.EPILOGUE_BEGIN:
            return new BuilderEpilogueBegin();
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber) debugItem;
            return new BuilderLineNumber(lineNumber.getLineNumber());
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile) debugItem;
            return new BuilderSetSourceFile(
                    (StringReference) convertReference(setSourceFile.getSourceFileReference())
            );
        }
        default:
            throw new ExceptionWithContext("Invalid debug item type: " + debugItem.getDebugItemType());
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:36,代码来源:BuilderMutableMethodImplementation.java

示例6: rewrite

@Nonnull @Override public DebugItem rewrite(@Nonnull DebugItem value) {
    switch (value.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return new RewrittenStartLocal((StartLocal)value);
        case DebugItemType.END_LOCAL:
            return new RewrittenEndLocal((EndLocal)value);
        case DebugItemType.RESTART_LOCAL:
            return new RewrittenRestartLocal((RestartLocal)value);
        default:
            return value;
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:12,代码来源:DebugItemRewriter.java

示例7: convertDebugItem

@Nonnull
private BuilderDebugItem convertDebugItem(@Nonnull DebugItem debugItem) {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            return new BuilderStartLocal(startLocal.getRegister(), startLocal.getNameReference(),
                    startLocal.getTypeReference(), startLocal.getSignatureReference());
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            return new BuilderEndLocal(endLocal.getRegister());
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            return new BuilderRestartLocal(restartLocal.getRegister());
        }
        case DebugItemType.PROLOGUE_END:
            return new BuilderPrologueEnd();
        case DebugItemType.EPILOGUE_BEGIN:
            return new BuilderEpilogueBegin();
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            return new BuilderLineNumber(lineNumber.getLineNumber());
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            return new BuilderSetSourceFile(setSourceFile.getSourceFileReference());
        }
        default:
            throw new ExceptionWithContext("Invalid debug item type: " + debugItem.getDebugItemType());
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:32,代码来源:MutableMethodImplementation.java

示例8: rewrite

@Override public DebugItem rewrite( DebugItem value) {
    switch (value.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return new RewrittenStartLocal((StartLocal)value);
        case DebugItemType.END_LOCAL:
            return new RewrittenEndLocal((EndLocal)value);
        case DebugItemType.RESTART_LOCAL:
            return new RewrittenRestartLocal((RestartLocal)value);
        default:
            return value;
    }
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:12,代码来源:DebugItemRewriter.java

示例9: convertDebugItem

private BuilderDebugItem convertDebugItem( DebugItem debugItem) {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            return new BuilderStartLocal(startLocal.getRegister(), startLocal.getNameReference(),
                    startLocal.getTypeReference(), startLocal.getSignatureReference());
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            return new BuilderEndLocal(endLocal.getRegister());
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            return new BuilderRestartLocal(restartLocal.getRegister());
        }
        case DebugItemType.PROLOGUE_END:
            return new BuilderPrologueEnd();
        case DebugItemType.EPILOGUE_BEGIN:
            return new BuilderEpilogueBegin();
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            return new BuilderLineNumber(lineNumber.getLineNumber());
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            return new BuilderSetSourceFile(setSourceFile.getSourceFileReference());
        }
        default:
            throw new ExceptionWithContext("Invalid debug item type: " + debugItem.getDebugItemType());
    }
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:31,代码来源:MutableMethodImplementation.java

示例10: rewrite

@Nonnull
@Override
public DebugItem rewrite(@Nonnull DebugItem value) {
    switch (value.getDebugItemType()) {
        case DebugItemType.START_LOCAL:
            return new RewrittenStartLocal((StartLocal) value);
        case DebugItemType.END_LOCAL:
            return new RewrittenEndLocal((EndLocal) value);
        case DebugItemType.RESTART_LOCAL:
            return new RewrittenRestartLocal((RestartLocal) value);
        default:
            return value;
    }
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:14,代码来源:DebugItemRewriter.java

示例11: writeDebugItem

@Override public void writeDebugItem(@Nonnull DebugWriter<CharSequence, CharSequence> writer,
                                     DebugItem debugItem) throws IOException {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            writer.writeStartLocal(startLocal.getCodeAddress(),
                    startLocal.getRegister(),
                    startLocal.getName(),
                    startLocal.getType(),
                    startLocal.getSignature());
            break;
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            writer.writeEndLocal(endLocal.getCodeAddress(), endLocal.getRegister());
            break;
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            writer.writeRestartLocal(restartLocal.getCodeAddress(), restartLocal.getRegister());
            break;
        }
        case DebugItemType.PROLOGUE_END: {
            writer.writePrologueEnd(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.EPILOGUE_BEGIN: {
            writer.writeEpilogueBegin(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            writer.writeLineNumber(lineNumber.getCodeAddress(), lineNumber.getLineNumber());
            break;
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            writer.writeSetSourceFile(setSourceFile.getCodeAddress(), setSourceFile.getSourceFile());
        }
        default:
            throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:43,代码来源:ClassPool.java

示例12: writeDebugItem

@Override
public void writeDebugItem(@Nonnull DebugWriter<BuilderStringReference, BuilderTypeReference> writer,
                           DebugItem debugItem) throws IOException {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            writer.writeStartLocal(startLocal.getCodeAddress(),
                    startLocal.getRegister(),
                    checkStringReference(startLocal.getNameReference()),
                    checkTypeReference(startLocal.getTypeReference()),
                    checkStringReference(startLocal.getSignatureReference()));
            break;
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            writer.writeEndLocal(endLocal.getCodeAddress(), endLocal.getRegister());
            break;
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            writer.writeRestartLocal(restartLocal.getCodeAddress(), restartLocal.getRegister());
            break;
        }
        case DebugItemType.PROLOGUE_END: {
            writer.writePrologueEnd(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.EPILOGUE_BEGIN: {
            writer.writeEpilogueBegin(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            writer.writeLineNumber(lineNumber.getCodeAddress(), lineNumber.getLineNumber());
            break;
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            writer.writeSetSourceFile(setSourceFile.getCodeAddress(),
                    checkStringReference(setSourceFile.getSourceFileReference()));
            break;
        }
        default:
            throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:46,代码来源:BuilderClassPool.java

示例13: writeDebugItem

@Override
public void writeDebugItem(@Nonnull DebugWriter<BuilderStringReference, BuilderTypeReference> writer,
                           DebugItem debugItem) throws IOException {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            writer.writeStartLocal(startLocal.getCodeAddress(),
                    startLocal.getRegister(),
                    checkStringReference(startLocal.getNameReference()),
                    checkTypeReference(startLocal.getTypeReference()),
                    checkStringReference(startLocal.getSignatureReference()));
            break;
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            writer.writeEndLocal(endLocal.getCodeAddress(), endLocal.getRegister());
            break;
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            writer.writeRestartLocal(restartLocal.getCodeAddress(), restartLocal.getRegister());
            break;
        }
        case DebugItemType.PROLOGUE_END: {
            writer.writePrologueEnd(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.EPILOGUE_BEGIN: {
            writer.writeEpilogueBegin(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            writer.writeLineNumber(lineNumber.getCodeAddress(), lineNumber.getLineNumber());
            break;
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            writer.writeSetSourceFile(setSourceFile.getCodeAddress(),
                    checkStringReference(setSourceFile.getSourceFileReference()));
        }
        default:
            throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:Miracle963,项目名称:zjdroid,代码行数:45,代码来源:BuilderClassPool.java

示例14: writeDebugItem

@Override public void writeDebugItem( DebugWriter<CharSequence, CharSequence> writer,
                                     DebugItem debugItem) throws IOException {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal)debugItem;
            writer.writeStartLocal(startLocal.getCodeAddress(),
                    startLocal.getRegister(),
                    startLocal.getName(),
                    startLocal.getType(),
                    startLocal.getSignature());
            break;
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal)debugItem;
            writer.writeEndLocal(endLocal.getCodeAddress(), endLocal.getRegister());
            break;
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal)debugItem;
            writer.writeRestartLocal(restartLocal.getCodeAddress(), restartLocal.getRegister());
            break;
        }
        case DebugItemType.PROLOGUE_END: {
            writer.writePrologueEnd(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.EPILOGUE_BEGIN: {
            writer.writeEpilogueBegin(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber)debugItem;
            writer.writeLineNumber(lineNumber.getCodeAddress(), lineNumber.getLineNumber());
            break;
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile)debugItem;
            writer.writeSetSourceFile(setSourceFile.getCodeAddress(), setSourceFile.getSourceFile());
        }
        default:
            throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:43,代码来源:ClassPool.java

示例15: writeDebugItem

@Override
public void writeDebugItem(@Nonnull DebugWriter<CharSequence, CharSequence> writer,
                           DebugItem debugItem) throws IOException {
    switch (debugItem.getDebugItemType()) {
        case DebugItemType.START_LOCAL: {
            StartLocal startLocal = (StartLocal) debugItem;
            writer.writeStartLocal(startLocal.getCodeAddress(),
                    startLocal.getRegister(),
                    startLocal.getName(),
                    startLocal.getType(),
                    startLocal.getSignature());
            break;
        }
        case DebugItemType.END_LOCAL: {
            EndLocal endLocal = (EndLocal) debugItem;
            writer.writeEndLocal(endLocal.getCodeAddress(), endLocal.getRegister());
            break;
        }
        case DebugItemType.RESTART_LOCAL: {
            RestartLocal restartLocal = (RestartLocal) debugItem;
            writer.writeRestartLocal(restartLocal.getCodeAddress(), restartLocal.getRegister());
            break;
        }
        case DebugItemType.PROLOGUE_END: {
            writer.writePrologueEnd(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.EPILOGUE_BEGIN: {
            writer.writeEpilogueBegin(debugItem.getCodeAddress());
            break;
        }
        case DebugItemType.LINE_NUMBER: {
            LineNumber lineNumber = (LineNumber) debugItem;
            writer.writeLineNumber(lineNumber.getCodeAddress(), lineNumber.getLineNumber());
            break;
        }
        case DebugItemType.SET_SOURCE_FILE: {
            SetSourceFile setSourceFile = (SetSourceFile) debugItem;
            writer.writeSetSourceFile(setSourceFile.getCodeAddress(), setSourceFile.getSourceFile());
        }
        default:
            throw new ExceptionWithContext("Unexpected debug item type: %d", debugItem.getDebugItemType());
    }
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:44,代码来源:ClassPool.java


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