summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2010-04-19 22:19:19 +0000
committeraclement <aclement>2010-04-19 22:19:19 +0000
commitf97adb2888cf3fb5583af0013fa0e583ed191944 (patch)
treef135fdf26ca102589bc11b6ddc30b2c9631e0e84
parente09e0b5f728c71dd2a06803f04eb566b53390004 (diff)
downloadaspectj-f97adb2888cf3fb5583af0013fa0e583ed191944.tar.gz
aspectj-f97adb2888cf3fb5583af0013fa0e583ed191944.zip
309743
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/ajc/BuildArgParser.java2
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java5
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.java6
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AddAtAspectJAnnotationsVisitor.java8
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildConfig.java9
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjBuildManager.java4
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java1
7 files changed, 28 insertions, 7 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 47089d172..c2917ac93 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
@@ -453,6 +453,8 @@ public class BuildArgParser extends Main {
args.remove(args.get(nextArgIndex));
}
+ } else if (arg.equals("-makeAjReflectable")) {
+ buildConfig.setMakeReflectable(true);
} else if (arg.equals("-sourceroots")) {
if (args.size() > nextArgIndex) {
List sourceRoots = new ArrayList();
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java
index bef441f67..2537c0356 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjCompilerAdapter.java
@@ -50,6 +50,7 @@ public class AjCompilerAdapter extends AbstractCompilerAdapter {
private boolean isXTerminateAfterCompilation;
private boolean proceedOnError;
private boolean inJava5Mode;
+ private boolean reflectable;
private boolean noAtAspectJAnnotationProcessing;
private IIntermediateResultsRequestor intermediateResultsRequestor;
private IProgressListener progressListener;
@@ -85,6 +86,7 @@ public class AjCompilerAdapter extends AbstractCompilerAdapter {
IOutputClassFileNameProvider outputFileNameProvider, IBinarySourceProvider binarySourceProvider,
Map fullBinarySourceEntries, /* fileName |-> List<UnwovenClassFile> */
boolean isXterminateAfterCompilation, boolean proceedOnError, boolean noAtAspectJProcessing,
+ boolean reflectable,
AjState incrementalCompilationState) {
this.compiler = compiler;
this.isBatchCompile = isBatchCompile;
@@ -97,6 +99,7 @@ public class AjCompilerAdapter extends AbstractCompilerAdapter {
this.proceedOnError = proceedOnError;
this.binarySourceSetForFullWeave = fullBinarySourceEntries;
this.eWorld = eFactory;
+ this.reflectable= reflectable;
this.inJava5Mode = false;
this.noAtAspectJAnnotationProcessing = noAtAspectJProcessing;
this.incrementalCompilationState = incrementalCompilationState;
@@ -129,7 +132,7 @@ public class AjCompilerAdapter extends AbstractCompilerAdapter {
if (inJava5Mode && !noAtAspectJAnnotationProcessing) {
ContextToken tok = CompilationAndWeavingContext.enteringPhase(
CompilationAndWeavingContext.ADDING_AT_ASPECTJ_ANNOTATIONS, unit.getFileName());
- AddAtAspectJAnnotationsVisitor atAspectJVisitor = new AddAtAspectJAnnotationsVisitor(unit);
+ AddAtAspectJAnnotationsVisitor atAspectJVisitor = new AddAtAspectJAnnotationsVisitor(unit,reflectable);
unit.traverse(atAspectJVisitor, unit.scope);
CompilationAndWeavingContext.leavingPhase(tok);
}
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.java
index 853d9548d..29fcf45bc 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/AjPipeliningCompilerAdapter.java
@@ -96,6 +96,7 @@ public class AjPipeliningCompilerAdapter extends AbstractCompilerAdapter {
private boolean isXTerminateAfterCompilation;
private boolean proceedOnError;
private boolean inJava5Mode;
+ private boolean makeReflectable;
private boolean noAtAspectJAnnotationProcessing;
private IIntermediateResultsRequestor intermediateResultsRequestor;
private IProgressListener progressListener;
@@ -138,7 +139,7 @@ public class AjPipeliningCompilerAdapter extends AbstractCompilerAdapter {
EclipseFactory eFactory, IIntermediateResultsRequestor intRequestor, IProgressListener progressListener,
IOutputClassFileNameProvider outputFileNameProvider, IBinarySourceProvider binarySourceProvider,
Map fullBinarySourceEntries, /* fileName |-> List<UnwovenClassFile> */
- boolean isXterminateAfterCompilation, boolean proceedOnError, boolean noAtAspectJProcessing,
+ boolean isXterminateAfterCompilation, boolean proceedOnError, boolean noAtAspectJProcessing, boolean makeReflectable,
AjState incrementalCompilationState) {
this.compiler = compiler;
this.isBatchCompile = isBatchCompile;
@@ -152,6 +153,7 @@ public class AjPipeliningCompilerAdapter extends AbstractCompilerAdapter {
this.binarySourceSetForFullWeave = fullBinarySourceEntries;
this.eWorld = eFactory;
this.inJava5Mode = false;
+ this.makeReflectable = makeReflectable;
this.noAtAspectJAnnotationProcessing = noAtAspectJProcessing;
this.incrementalCompilationState = incrementalCompilationState;
@@ -263,7 +265,7 @@ public class AjPipeliningCompilerAdapter extends AbstractCompilerAdapter {
if (inJava5Mode && !noAtAspectJAnnotationProcessing) {
ContextToken tok = CompilationAndWeavingContext.enteringPhase(
CompilationAndWeavingContext.ADDING_AT_ASPECTJ_ANNOTATIONS, unit.getFileName());
- AddAtAspectJAnnotationsVisitor atAspectJVisitor = new AddAtAspectJAnnotationsVisitor(unit);
+ AddAtAspectJAnnotationsVisitor atAspectJVisitor = new AddAtAspectJAnnotationsVisitor(unit,makeReflectable);
unit.traverse(atAspectJVisitor, unit.scope);
CompilationAndWeavingContext.leavingPhase(tok);
}
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AddAtAspectJAnnotationsVisitor.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AddAtAspectJAnnotationsVisitor.java
index 7606ed446..79447f0ae 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AddAtAspectJAnnotationsVisitor.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AddAtAspectJAnnotationsVisitor.java
@@ -28,10 +28,12 @@ import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope
*/
public class AddAtAspectJAnnotationsVisitor extends ASTVisitor {
+ private boolean makeReflectable;
// private CompilationUnitDeclaration unit;
- public AddAtAspectJAnnotationsVisitor(CompilationUnitDeclaration unit) {
+ public AddAtAspectJAnnotationsVisitor(CompilationUnitDeclaration unit, boolean makeReflectable) {
// this.unit = unit;
+ this.makeReflectable= makeReflectable;
}
public boolean visit(TypeDeclaration localTypeDeclaration, BlockScope scope) {
@@ -63,7 +65,9 @@ public class AddAtAspectJAnnotationsVisitor extends ASTVisitor {
} else if (methodDeclaration instanceof DeclareDeclaration) {
((DeclareDeclaration) methodDeclaration).addAtAspectJAnnotations();
} else if (methodDeclaration instanceof InterTypeDeclaration) {
- ((InterTypeDeclaration) methodDeclaration).addAtAspectJAnnotations();
+ if (makeReflectable) {
+ ((InterTypeDeclaration) methodDeclaration).addAtAspectJAnnotations();
+ }
}
return false;
}
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 0d5ee2fca..75f8f5bb7 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
@@ -410,6 +410,7 @@ public class AjBuildConfig implements CompilerConfigurationChangeFlags {
setAddSerialVerUID(global.isAddSerialVerUID());
setXmlConfigured(global.isXmlConfigured());
setTiming(global.isTiming());
+ setMakeReflectable(global.isMakeReflectable());
}
void join(Collection local, Collection global) {
@@ -565,10 +566,18 @@ public class AjBuildConfig implements CompilerConfigurationChangeFlags {
public void setXmlConfigured(boolean b) {
options.xmlConfigured = b;
}
+
+ public void setMakeReflectable(boolean b) {
+ options.makeReflectable = b;
+ }
public boolean isXmlConfigured() {
return options.xmlConfigured;
}
+
+ public boolean isMakeReflectable() {
+ return options.makeReflectable;
+ }
public boolean isXNotReweavable() {
return options.xNotReweavable;
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 70addfa66..59879e3b3 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
@@ -1383,14 +1383,14 @@ public class AjBuildManager implements IOutputClassFileNameProvider, IBinarySour
this, // IOutputFilenameProvider
this, // IBinarySourceProvider
state.getBinarySourceMap(), buildConfig.isTerminateAfterCompilation(), buildConfig.getProceedOnError(),
- buildConfig.isNoAtAspectJAnnotationProcessing(), state);
+ buildConfig.isNoAtAspectJAnnotationProcessing(), buildConfig.isMakeReflectable(), state);
} else {
return new AjCompilerAdapter(forCompiler, batchCompile, getBcelWorld(), getWeaver(), factory,
getInterimResultRequestor(), progressListener,
this, // IOutputFilenameProvider
this, // IBinarySourceProvider
state.getBinarySourceMap(), buildConfig.isTerminateAfterCompilation(), buildConfig.getProceedOnError(),
- buildConfig.isNoAtAspectJAnnotationProcessing(), state);
+ buildConfig.isNoAtAspectJAnnotationProcessing(), buildConfig.isMakeReflectable(), state);
}
}
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java
index 506f2e123..f07be6fcc 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjCompilerOptions.java
@@ -82,6 +82,7 @@ public class AjCompilerOptions extends CompilerOptions {
public String xConfigurationInfo;
public boolean addSerialVerUID = false;
public boolean xmlConfigured = false;
+ public boolean makeReflectable = false;
// these next four not exposed by IDEs
public boolean generateModel = false;