203 // is non-repeating and therefore will be annotated in the |
203 // is non-repeating and therefore will be annotated in the |
204 // fist pass. |
204 // fist pass. |
205 |
205 |
206 // Queue a pass that will replace Attribute.Placeholders |
206 // Queue a pass that will replace Attribute.Placeholders |
207 // with Attribute.Compound (made from synthesized containers). |
207 // with Attribute.Compound (made from synthesized containers). |
208 ctx.annotateRepeated(new Annotate.Annotator() { |
208 ctx.annotateRepeated(new Annotate.Worker() { |
209 @Override |
209 @Override |
210 public String toString() { |
210 public String toString() { |
211 return "repeated annotation pass of: " + sym + " in: " + sym.owner; |
211 return "repeated annotation pass of: " + sym + " in: " + sym.owner; |
212 } |
212 } |
213 |
213 |
214 @Override |
214 @Override |
215 public void enterAnnotation() { |
215 public void run() { |
216 complete(ctx); |
216 complete(ctx); |
217 } |
217 } |
218 }); |
218 }); |
219 } |
219 } |
220 // Add non-repeating attributes |
220 // Add non-repeating attributes |