summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2010-10-25 20:04:54 +0000
committeraclement <aclement>2010-10-25 20:04:54 +0000
commite56f7c4fb6847e624dc2dc63b3e3c6bedaf3b7be (patch)
tree3dc11c16bfc1d1da2de260a59f066a1d8e0e2712
parent1371942fc8b07fa86cb7f927027b024bfb3e5e2b (diff)
downloadaspectj-e56f7c4fb6847e624dc2dc63b3e3c6bedaf3b7be.tar.gz
aspectj-e56f7c4fb6847e624dc2dc63b3e3c6bedaf3b7be.zip
328649
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
index 83fca1b00..6bad99f3b 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AjState.java
@@ -1915,6 +1915,21 @@ public class AjState implements CompilerConfigurationChangeFlags, TypeDelegateRe
simpleStrings.add(typeName);
}
+ /**
+ * Record some additional dependencies between types. When any of the types specified in fullyQualifiedTypeNames changes, we
+ * need to recompile the file named in the CompilationResult. This method patches that information into the existing data
+ * structures.
+ */
+ public void recordDependencies(CompilationResult result, String[] typeNameDependencies) {
+ File sourceFile = new File(new String(result.fileName));
+ ReferenceCollection existingCollection = references.get(sourceFile);
+ if (existingCollection != null) {
+ existingCollection.addDependencies(typeNameDependencies);
+ } else {
+ references.put(sourceFile, new ReferenceCollection(result.qualifiedReferences, result.simpleNameReferences));
+ }
+ }
+
protected void addDependentsOf(File sourceFile) {
List<ClassFile> cfs = this.fullyQualifiedTypeNamesResultingFromCompilationUnit.get(sourceFile);
if (cfs != null) {