langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java
changeset 13689 4d519199a6aa
parent 13635 5c742eabba7c
child 14359 d4099818ab70
equal deleted inserted replaced
13636:bee2d435e11f 13689:4d519199a6aa
  1319                 if (proxy.type.tsym == syms.proprietaryType.tsym)
  1319                 if (proxy.type.tsym == syms.proprietaryType.tsym)
  1320                     sym.flags_field |= PROPRIETARY;
  1320                     sym.flags_field |= PROPRIETARY;
  1321                 else
  1321                 else
  1322                     proxies.append(proxy);
  1322                     proxies.append(proxy);
  1323             }
  1323             }
  1324             annotate.later(new AnnotationCompleter(sym, proxies.toList()));
  1324             annotate.normal(new AnnotationCompleter(sym, proxies.toList()));
  1325         }
  1325         }
  1326     }
  1326     }
  1327 
  1327 
  1328     /** Attach parameter annotations.
  1328     /** Attach parameter annotations.
  1329      */
  1329      */
  1345     /** Attach the default value for an annotation element.
  1345     /** Attach the default value for an annotation element.
  1346      */
  1346      */
  1347     void attachAnnotationDefault(final Symbol sym) {
  1347     void attachAnnotationDefault(final Symbol sym) {
  1348         final MethodSymbol meth = (MethodSymbol)sym; // only on methods
  1348         final MethodSymbol meth = (MethodSymbol)sym; // only on methods
  1349         final Attribute value = readAttributeValue();
  1349         final Attribute value = readAttributeValue();
  1350         annotate.later(new AnnotationDefaultCompleter(meth, value));
  1350         annotate.normal(new AnnotationDefaultCompleter(meth, value));
  1351     }
  1351     }
  1352 
  1352 
  1353     Type readTypeOrClassSymbol(int i) {
  1353     Type readTypeOrClassSymbol(int i) {
  1354         // support preliminary jsr175-format class files
  1354         // support preliminary jsr175-format class files
  1355         if (buf[poolIdx[i]] == CONSTANT_Class)
  1355         if (buf[poolIdx[i]] == CONSTANT_Class)
  1691         // implement Annotate.Annotator.enterAnnotation()
  1691         // implement Annotate.Annotator.enterAnnotation()
  1692         public void enterAnnotation() {
  1692         public void enterAnnotation() {
  1693             JavaFileObject previousClassFile = currentClassFile;
  1693             JavaFileObject previousClassFile = currentClassFile;
  1694             try {
  1694             try {
  1695                 currentClassFile = classFile;
  1695                 currentClassFile = classFile;
       
  1696                 Annotations annotations = sym.annotations;
  1696                 List<Attribute.Compound> newList = deproxyCompoundList(l);
  1697                 List<Attribute.Compound> newList = deproxyCompoundList(l);
  1697                 sym.attributes_field = ((sym.attributes_field == null)
  1698                 if (annotations.pendingCompletion()) {
  1698                                         ? newList
  1699                     annotations.setAttributes(newList);
  1699                                         : newList.prependList(sym.attributes_field));
  1700                 } else {
       
  1701                     annotations.append(newList);
       
  1702                 }
  1700             } finally {
  1703             } finally {
  1701                 currentClassFile = previousClassFile;
  1704                 currentClassFile = previousClassFile;
  1702             }
  1705             }
  1703         }
  1706         }
  1704     }
  1707     }