aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoraclement <aclement>2004-02-24 13:43:56 +0000
committeraclement <aclement>2004-02-24 13:43:56 +0000
commit16a0abd70e5fe2538c32994de05f52b6bf939ef5 (patch)
tree3a8ca19141c2a3f15663c4f721b2397529af1e43 /org.aspectj.ajdt.core
parent36f8e3c561a721243f8e9e6c0cfb71547249e300 (diff)
downloadaspectj-16a0abd70e5fe2538c32994de05f52b6bf939ef5.tar.gz
aspectj-16a0abd70e5fe2538c32994de05f52b6bf939ef5.zip
Fix for Bug 36430: Xreweavable support
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java5
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/messages.properties2
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java22
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java3
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");
}