diff options
Diffstat (limited to 'org.aspectj.ajdt.core')
4 files changed, 31 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java index cf6174746..6132b74d0 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java @@ -444,6 +444,11 @@ public class BuildArgParser extends Main { buildConfig.setXserializableAspects(true); } else if (arg.equals("-XlazyTjp")) { buildConfig.setXlazyTjp(true); + } else if (arg.startsWith("-Xreweavable")) { + buildConfig.setXreweavable(true); + if (arg.endsWith(":compress")) { + buildConfig.setXreweavableCompressClasses(true); + } } else if (arg.equals("-XnoInline")) { buildConfig.setXnoInline(true); } else if (arg.equals("-Xlintfile")) { diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties index ac2113113..27b3cb7ae 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties @@ -115,7 +115,7 @@ Standard Eclipse compiler options:\n\ \ -showversion print compiler version and continue\n ## options not documented above (per ..ajdt.ajc.BuildArgParser.java): -# -XincrementalFile, -XnoWeave, -XserializableAspects, -XnoInline +# -XincrementalFile, -XnoWeave, -XserializableAspects, -XnoInline, -Xreweavable[:compress] ############################################################################### # Copyright (c) 2000, 2004 IBM Corporation and others. diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java index ad182a589..f9c2571db 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java @@ -56,6 +56,8 @@ public class AjBuildConfig { // XXX needs bootclasspath? private boolean XserializableAspects = false; private boolean XlazyTjp = false; private boolean XnoInline = false; + private boolean Xreweavable = false; + private boolean XreweavableCompressClasses = false; private String lintMode = AJLINT_DEFAULT; private File lintSpecFile = null; @@ -214,6 +216,10 @@ public class AjBuildConfig { // XXX needs bootclasspath? public void setInJars(List sourceJars) { this.inJars = sourceJars; } + + public void setInPath(List dirsOrJars) { + inPath = dirsOrJars; + } public List getSourceRoots() { return sourceRoots; @@ -462,4 +468,20 @@ public class AjBuildConfig { // XXX needs bootclasspath? XlazyTjp = b; } + public void setXreweavable(boolean b) { + Xreweavable = true; + } + + public boolean isXreweavable() { + return Xreweavable; + } + + public void setXreweavableCompressClasses(boolean b) { + XreweavableCompressClasses = true; + } + + public boolean getXreweavableCompressClasses() { + return XreweavableCompressClasses; + } + } diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java index d0a79ca3c..efa482548 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java @@ -226,6 +226,9 @@ public class AjBuildManager { // bcelWeaver.addResource(resource, buildConfig.getOutputDir()); } } + + bcelWeaver.setReweavableMode(buildConfig.isXreweavable(),buildConfig.getXreweavableCompressClasses()); + //check for org.aspectj.runtime.JoinPoint bcelWorld.resolve("org.aspectj.lang.JoinPoint"); } |