langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java
--- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java Fri Nov 28 11:45:56 2014 +0000
+++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/util/Dependencies.java Wed Dec 03 13:46:12 2014 +0100
@@ -73,7 +73,7 @@
return instance;
}
- Dependencies(Context context) {
+ protected Dependencies(Context context) {
context.put(dependenciesKey, this);
}
@@ -122,7 +122,7 @@
/**
* Push a new completion node on the stack.
*/
- abstract public void push(ClassSymbol s);
+ abstract public void push(ClassSymbol s, CompletionCause phase);
/**
* Push a new attribution node on the stack.
@@ -134,6 +134,15 @@
*/
abstract public void pop();
+ public enum CompletionCause {
+ CLASS_READER,
+ HEADER_PHASE,
+ HIERARCHY_PHASE,
+ IMPORTS_PHASE,
+ MEMBER_ENTER,
+ MEMBERS_PHASE;
+ }
+
/**
* This class creates a graph of all dependencies as symbols are completed;
* when compilation finishes, the resulting dependecy graph is then dumped
@@ -391,7 +400,7 @@
Map<String, Node> dependencyNodeMap = new LinkedHashMap<>();
@Override
- public void push(ClassSymbol s) {
+ public void push(ClassSymbol s, CompletionCause phase) {
Node n = new CompletionNode(s);
if (n == push(n)) {
s.completer = this;
@@ -454,7 +463,7 @@
@Override
public void complete(Symbol sym) throws CompletionFailure {
- push((ClassSymbol) sym);
+ push((ClassSymbol) sym, null);
pop();
sym.completer = this;
}
@@ -542,7 +551,7 @@
}
@Override
- public void push(ClassSymbol s) {
+ public void push(ClassSymbol s, CompletionCause phase) {
//do nothing
}