diff options
author | aclement <aclement> | 2004-02-24 13:43:56 +0000 |
---|---|---|
committer | aclement <aclement> | 2004-02-24 13:43:56 +0000 |
commit | 16a0abd70e5fe2538c32994de05f52b6bf939ef5 (patch) | |
tree | 3a8ca19141c2a3f15663c4f721b2397529af1e43 /org.aspectj.ajdt.core | |
parent | 36f8e3c561a721243f8e9e6c0cfb71547249e300 (diff) | |
download | aspectj-16a0abd70e5fe2538c32994de05f52b6bf939ef5.tar.gz aspectj-16a0abd70e5fe2538c32994de05f52b6bf939ef5.zip |
Fix for Bug 36430: Xreweavable support
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"); } |