From f735cbc7eac13452c8833bd13a060970d7c97163 Mon Sep 17 00:00:00 2001 From: Stiver Date: Wed, 1 Oct 2014 07:00:11 +0200 Subject: Started work on mapping bytecode instructions to source code lines --- src/org/jetbrains/java/decompiler/main/ClassesProcessor.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/org/jetbrains/java/decompiler/main/ClassesProcessor.java') diff --git a/src/org/jetbrains/java/decompiler/main/ClassesProcessor.java b/src/org/jetbrains/java/decompiler/main/ClassesProcessor.java index 6faad08..61807b7 100644 --- a/src/org/jetbrains/java/decompiler/main/ClassesProcessor.java +++ b/src/org/jetbrains/java/decompiler/main/ClassesProcessor.java @@ -16,6 +16,7 @@ package org.jetbrains.java.decompiler.main; import org.jetbrains.java.decompiler.code.CodeConstants; +import org.jetbrains.java.decompiler.main.collectors.BytecodeSourceMapper; import org.jetbrains.java.decompiler.main.collectors.CounterContainer; import org.jetbrains.java.decompiler.main.collectors.ImportCollector; import org.jetbrains.java.decompiler.main.extern.IFernflowerLogger; @@ -243,6 +244,7 @@ public class ClassesProcessor { ImportCollector importCollector = new ImportCollector(root); DecompilerContext.setImportCollector(importCollector); DecompilerContext.setCounterContainer(new CounterContainer()); + DecompilerContext.setBytecodeSourceMapper(new BytecodeSourceMapper()); new LambdaProcessor().processClass(root); @@ -276,6 +278,11 @@ public class ClassesProcessor { } buffer.append(classBuffer); + + if(DecompilerContext.getOption(IFernflowerPreferences.BYTECODE_SOURCE_MAPPING)) { + buffer.append(lineSeparator); + DecompilerContext.getBytecodeSourceMapper().dumpMapping(classBuffer); + } } finally { destroyWrappers(root); -- cgit v1.2.3