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

Java LineNumber类代码示例

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

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



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

示例1: getSourceFileLine

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@Override
protected int getSourceFileLine() {
	// Parse debug information lazily.
	if (sourceFileMethod != null) {
		MethodImplementation mi = sourceFileMethod.getImplementation();
		if (mi != null) {
			for (DebugItem di : mi.getDebugItems()) {
				if (di instanceof LineNumber) {
					sourceFileLine = ((LineNumber) di).getLineNumber();
					break;
				}
				if (di instanceof SetSourceFile) {
					// TODO: Support this type of debug item.
					break;
				}
			}
		}
		sourceFileMethod = null;
	}
	return sourceFileLine;
}
 
开发者ID:DexPatcher,项目名称:dexpatcher-tool,代码行数:22,代码来源:MethodSetPatcher.java


示例2: of

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@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,代码行数:25,代码来源:ImmutableDebugItem.java


示例3: convertDebugItem

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@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,代码行数:37,代码来源:BuilderMutableMethodImplementation.java


示例4: of

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@Nonnull
public static ImmutableLineNumber of(@Nonnull LineNumber lineNumber) {
    if (lineNumber instanceof ImmutableLineNumber) {
        return (ImmutableLineNumber)lineNumber;
    }
    return new ImmutableLineNumber(
            lineNumber.getCodeAddress(),
            lineNumber.getLineNumber());
}
 
开发者ID:CvvT,项目名称:andbg,代码行数:10,代码来源:ImmutableLineNumber.java


示例5: of

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
public static ImmutableLineNumber of( LineNumber lineNumber) {
    if (lineNumber instanceof ImmutableLineNumber) {
        return (ImmutableLineNumber)lineNumber;
    }
    return new ImmutableLineNumber(
            lineNumber.getCodeAddress(),
            lineNumber.getLineNumber());
}
 
开发者ID:AndreJCL,项目名称:JCL,代码行数:9,代码来源:ImmutableLineNumber.java


示例6: of

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@Nonnull
public static ImmutableLineNumber of(@Nonnull LineNumber lineNumber) {
    if (lineNumber instanceof ImmutableLineNumber) {
        return (ImmutableLineNumber) lineNumber;
    }
    return new ImmutableLineNumber(
            lineNumber.getCodeAddress(),
            lineNumber.getLineNumber());
}
 
开发者ID:niranjan94,项目名称:show-java,代码行数:10,代码来源:ImmutableLineNumber.java


示例7: convertDebugItem

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@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:niranjan94,项目名称:show-java,代码行数:33,代码来源:MutableMethodImplementation.java


示例8: LineNumberMethodItem

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
public LineNumberMethodItem(int codeAddress, int sortOrder, @Nonnull LineNumber lineNumber) {
    super(codeAddress, sortOrder);
    this.lineNumber = lineNumber.getLineNumber();
}
 
开发者ID:alibaba,项目名称:atlas,代码行数:5,代码来源:LineNumberMethodItem.java


示例9: writeDebugItem

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@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,代码行数:45,代码来源:ClassPool.java


示例10: writeDebugItem

import org.jf.dexlib2.iface.debug.LineNumber; //导入依赖的package包/类
@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:niranjan94,项目名称:show-java,代码行数:46,代码来源:BuilderClassPool.java



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

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

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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