public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, MethodGen methodGen, String sourceFile, @NonNull InstructionHandle handle) { LineNumberTable table = methodGen.getLineNumberTable(methodGen.getConstantPool()); String className = methodGen.getClassName();  int bytecodeOffset = handle.getPosition();  if (table == null) return createUnknown(className, sourceFile, bytecodeOffset, bytecodeOffset);  int lineNumber = table.getSourceLine(handle.getPosition()); return new SourceLineAnnotation( className, sourceFile, lineNumber, lineNumber, bytecodeOffset, bytecodeOffset) .addInstructionContext(classContext, classContext.getMethod(methodGen));
public static SourceLineAnnotation fromVisitedInstruction(BytecodeScanningDetector visitor, int pc) { return fromVisitedInstructionRange(visitor.getClassContext(), visitor, pc, pc);
	public static SourceLineAnnotation fromVisitedInstruction(ClassContext classContext, MethodGen methodGen, String sourceFile, @NonNull InstructionHandle handle) {		LineNumberTable table = methodGen.getLineNumberTable(methodGen.getConstantPool());		String className = methodGen.getClassName();		int bytecodeOffset = handle.getPosition();		if (table == null)			return createUnknown(className, sourceFile, bytecodeOffset, bytecodeOffset);		int lineNumber = table.getSourceLine(handle.getPosition());		return new SourceLineAnnotation(				className, sourceFile, lineNumber, lineNumber, bytecodeOffset, bytecodeOffset)				.addInstructionContext(classContext, classContext.getMethod(methodGen));	}