summaryrefslogtreecommitdiffstats
path: root/src/org/jetbrains/java/decompiler/main/ClassesProcessor.java
diff options
context:
space:
mode:
authorStiver <stiver.mail@gmail.com>2014-10-01 07:00:11 +0200
committerStiver <stiver.mail@gmail.com>2014-10-01 07:00:11 +0200
commitf735cbc7eac13452c8833bd13a060970d7c97163 (patch)
treef8da31e68ced320bcdebc84afb542fb11262c7fb /src/org/jetbrains/java/decompiler/main/ClassesProcessor.java
parent91c64c5a9467d17665881010bc0d86d138b124f6 (diff)
downloadfernflower-f735cbc7eac13452c8833bd13a060970d7c97163.tar
fernflower-f735cbc7eac13452c8833bd13a060970d7c97163.tar.gz
fernflower-f735cbc7eac13452c8833bd13a060970d7c97163.tar.lz
fernflower-f735cbc7eac13452c8833bd13a060970d7c97163.tar.xz
fernflower-f735cbc7eac13452c8833bd13a060970d7c97163.zip
Started work on mapping bytecode instructions to source code lines
Diffstat (limited to 'src/org/jetbrains/java/decompiler/main/ClassesProcessor.java')
-rw-r--r--src/org/jetbrains/java/decompiler/main/ClassesProcessor.java7
1 files changed, 7 insertions, 0 deletions
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);