47 import com.sun.tools.javac.model.JavacElements; |
47 import com.sun.tools.javac.model.JavacElements; |
48 import com.sun.tools.javac.model.JavacTypes; |
48 import com.sun.tools.javac.model.JavacTypes; |
49 import com.sun.tools.javac.processing.JavacProcessingEnvironment; |
49 import com.sun.tools.javac.processing.JavacProcessingEnvironment; |
50 import com.sun.tools.javac.tree.JCTree; |
50 import com.sun.tools.javac.tree.JCTree; |
51 import com.sun.tools.javac.util.Context; |
51 import com.sun.tools.javac.util.Context; |
|
52 import com.sun.tools.javac.util.DefinedBy; |
|
53 import com.sun.tools.javac.util.DefinedBy.Api; |
52 import com.sun.tools.javac.util.List; |
54 import com.sun.tools.javac.util.List; |
53 import com.sun.tools.javac.util.Log; |
55 import com.sun.tools.javac.util.Log; |
54 import com.sun.tools.javac.util.PropagatedException; |
56 import com.sun.tools.javac.util.PropagatedException; |
55 import com.sun.tools.javac.util.ServiceLoader; |
57 import com.sun.tools.javac.util.ServiceLoader; |
56 |
58 |
77 context = c; |
79 context = c; |
78 if (register) |
80 if (register) |
79 context.put(JavacTask.class, this); |
81 context.put(JavacTask.class, this); |
80 } |
82 } |
81 |
83 |
82 @Override |
84 @Override @DefinedBy(Api.COMPILER_TREE) |
83 public Iterable<? extends CompilationUnitTree> parse() { |
85 public Iterable<? extends CompilationUnitTree> parse() { |
84 throw new IllegalStateException(); |
86 throw new IllegalStateException(); |
85 } |
87 } |
86 |
88 |
87 @Override |
89 @Override @DefinedBy(Api.COMPILER_TREE) |
88 public Iterable<? extends Element> analyze() { |
90 public Iterable<? extends Element> analyze() { |
89 throw new IllegalStateException(); |
91 throw new IllegalStateException(); |
90 } |
92 } |
91 |
93 |
92 @Override |
94 @Override @DefinedBy(Api.COMPILER_TREE) |
93 public Iterable<? extends JavaFileObject> generate() { |
95 public Iterable<? extends JavaFileObject> generate() { |
94 throw new IllegalStateException(); |
96 throw new IllegalStateException(); |
95 } |
97 } |
96 |
98 |
97 @Override |
99 @Override @DefinedBy(Api.COMPILER_TREE) |
98 public void setTaskListener(TaskListener tl) { |
100 public void setTaskListener(TaskListener tl) { |
99 MultiTaskListener mtl = MultiTaskListener.instance(context); |
101 MultiTaskListener mtl = MultiTaskListener.instance(context); |
100 if (taskListener != null) |
102 if (taskListener != null) |
101 mtl.remove(taskListener); |
103 mtl.remove(taskListener); |
102 if (tl != null) |
104 if (tl != null) |
103 mtl.add(tl); |
105 mtl.add(tl); |
104 taskListener = tl; |
106 taskListener = tl; |
105 } |
107 } |
106 |
108 |
107 @Override |
109 @Override @DefinedBy(Api.COMPILER_TREE) |
108 public void addTaskListener(TaskListener taskListener) { |
110 public void addTaskListener(TaskListener taskListener) { |
109 MultiTaskListener mtl = MultiTaskListener.instance(context); |
111 MultiTaskListener mtl = MultiTaskListener.instance(context); |
110 mtl.add(taskListener); |
112 mtl.add(taskListener); |
111 } |
113 } |
112 |
114 |
113 @Override |
115 @Override @DefinedBy(Api.COMPILER_TREE) |
114 public void removeTaskListener(TaskListener taskListener) { |
116 public void removeTaskListener(TaskListener taskListener) { |
115 MultiTaskListener mtl = MultiTaskListener.instance(context); |
117 MultiTaskListener mtl = MultiTaskListener.instance(context); |
116 mtl.remove(taskListener); |
118 mtl.remove(taskListener); |
117 } |
119 } |
118 |
120 |
119 public Collection<TaskListener> getTaskListeners() { |
121 public Collection<TaskListener> getTaskListeners() { |
120 MultiTaskListener mtl = MultiTaskListener.instance(context); |
122 MultiTaskListener mtl = MultiTaskListener.instance(context); |
121 return mtl.getTaskListeners(); |
123 return mtl.getTaskListeners(); |
122 } |
124 } |
123 |
125 |
124 @Override |
126 @Override @DefinedBy(Api.COMPILER_TREE) |
125 public TypeMirror getTypeMirror(Iterable<? extends Tree> path) { |
127 public TypeMirror getTypeMirror(Iterable<? extends Tree> path) { |
126 // TODO: Should complete attribution if necessary |
128 // TODO: Should complete attribution if necessary |
127 Tree last = null; |
129 Tree last = null; |
128 for (Tree node : path) |
130 for (Tree node : path) |
129 last = node; |
131 last = node; |
130 return ((JCTree)last).type; |
132 return ((JCTree)last).type; |
131 } |
133 } |
132 |
134 |
133 @Override |
135 @Override @DefinedBy(Api.COMPILER_TREE) |
134 public Elements getElements() { |
136 public Elements getElements() { |
135 if (context == null) |
137 if (context == null) |
136 throw new IllegalStateException(); |
138 throw new IllegalStateException(); |
137 return JavacElements.instance(context); |
139 return JavacElements.instance(context); |
138 } |
140 } |
139 |
141 |
140 @Override |
142 @Override @DefinedBy(Api.COMPILER_TREE) |
141 public Types getTypes() { |
143 public Types getTypes() { |
142 if (context == null) |
144 if (context == null) |
143 throw new IllegalStateException(); |
145 throw new IllegalStateException(); |
144 return JavacTypes.instance(context); |
146 return JavacTypes.instance(context); |
145 } |
147 } |
146 |
148 |
147 @Override |
149 @Override @DefinedBy(Api.COMPILER) |
148 public void setProcessors(Iterable<? extends Processor> processors) { |
150 public void setProcessors(Iterable<? extends Processor> processors) { |
149 throw new IllegalStateException(); |
151 throw new IllegalStateException(); |
150 } |
152 } |
151 |
153 |
152 @Override |
154 @Override @DefinedBy(Api.COMPILER) |
153 public void setLocale(Locale locale) { |
155 public void setLocale(Locale locale) { |
154 throw new IllegalStateException(); |
156 throw new IllegalStateException(); |
155 } |
157 } |
156 |
158 |
157 @Override |
159 @Override @DefinedBy(Api.COMPILER) |
158 public Boolean call() { |
160 public Boolean call() { |
159 throw new IllegalStateException(); |
161 throw new IllegalStateException(); |
160 } |
162 } |
161 |
163 |
162 /** |
164 /** |