From d4247f2e8b048d6cae83d5f93d59c7591309e65c Mon Sep 17 00:00:00 2001 From: Roel Spilker Date: Sun, 8 Aug 2010 22:27:22 +0200 Subject: Post-compilation works in both Eclipse and ecj --- src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java') diff --git a/src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java b/src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java index bb3d90f7..48103a98 100644 --- a/src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java +++ b/src/eclipseAgent/lombok/eclipse/agent/PatchFixes.java @@ -22,10 +22,16 @@ package lombok.eclipse.agent; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import lombok.core.DiagnosticsReceiver; +import lombok.core.PostCompiler; + import org.eclipse.jdt.core.IMethod; import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.SimpleName; @@ -107,4 +113,17 @@ public class PatchFixes { } return newSimpleNames; } + + public static byte[] runPostCompiler(byte[] bytes, String className) { + byte[] transformed = PostCompiler.applyTransformations(bytes, className, DiagnosticsReceiver.CONSOLE); + return transformed == null ? bytes : transformed; + } + + public static OutputStream runPostCompiler(OutputStream out) throws IOException { + return PostCompiler.wrapOutputStream(out, "TEST", DiagnosticsReceiver.CONSOLE); + } + + public static BufferedOutputStream runPostCompiler(BufferedOutputStream out) throws IOException { + return new BufferedOutputStream(PostCompiler.wrapOutputStream(out, "TEST", DiagnosticsReceiver.CONSOLE)); + } } -- cgit