langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java
changeset 42828 cce89649f958
parent 42822 a84956e7ee4d
child 42973 3795332b55c7
equal deleted inserted replaced
42827:36468b5fa7f4 42828:cce89649f958
   777                                                          sbp - startSbp));
   777                                                          sbp - startSbp));
   778 
   778 
   779                 try {
   779                 try {
   780                     return (outer == Type.noType) ?
   780                     return (outer == Type.noType) ?
   781                             t.erasure(types) :
   781                             t.erasure(types) :
   782                         new ClassType(outer, List.<Type>nil(), t);
   782                         new ClassType(outer, List.nil(), t);
   783                 } finally {
   783                 } finally {
   784                     sbp = startSbp;
   784                     sbp = startSbp;
   785                 }
   785                 }
   786             }
   786             }
   787 
   787 
   850                 //we have seen an enclosing non-generic class
   850                 //we have seen an enclosing non-generic class
   851                 if (outer != Type.noType) {
   851                 if (outer != Type.noType) {
   852                     t = enterClass(names.fromUtf(signatureBuffer,
   852                     t = enterClass(names.fromUtf(signatureBuffer,
   853                                                  startSbp,
   853                                                  startSbp,
   854                                                  sbp - startSbp));
   854                                                  sbp - startSbp));
   855                     outer = new ClassType(outer, List.<Type>nil(), t);
   855                     outer = new ClassType(outer, List.nil(), t);
   856                 }
   856                 }
   857                 signatureBuffer[sbp++] = (byte)'$';
   857                 signatureBuffer[sbp++] = (byte)'$';
   858                 continue;
   858                 continue;
   859             case '/':
   859             case '/':
   860                 signatureBuffer[sbp++] = (byte)'.';
   860                 signatureBuffer[sbp++] = (byte)'.';
  2055             }
  2055             }
  2056             // Construct a new method type and symbol.  Use bottom
  2056             // Construct a new method type and symbol.  Use bottom
  2057             // type (typeof null) as return type because this type is
  2057             // type (typeof null) as return type because this type is
  2058             // a subtype of all reference types and can be converted
  2058             // a subtype of all reference types and can be converted
  2059             // to primitive types by unboxing.
  2059             // to primitive types by unboxing.
  2060             MethodType mt = new MethodType(List.<Type>nil(),
  2060             MethodType mt = new MethodType(List.nil(),
  2061                                            syms.botType,
  2061                                            syms.botType,
  2062                                            List.<Type>nil(),
  2062                                            List.nil(),
  2063                                            syms.methodClass);
  2063                                            syms.methodClass);
  2064             return new MethodSymbol(PUBLIC | ABSTRACT, name, mt, container.tsym);
  2064             return new MethodSymbol(PUBLIC | ABSTRACT, name, mt, container.tsym);
  2065         }
  2065         }
  2066 
  2066 
  2067         Attribute result;
  2067         Attribute result;
  2261 
  2261 
  2262         List<TypeAnnotationProxy> proxies;
  2262         List<TypeAnnotationProxy> proxies;
  2263 
  2263 
  2264         TypeAnnotationCompleter(Symbol sym,
  2264         TypeAnnotationCompleter(Symbol sym,
  2265                 List<TypeAnnotationProxy> proxies) {
  2265                 List<TypeAnnotationProxy> proxies) {
  2266             super(sym, List.<CompoundAnnotationProxy>nil());
  2266             super(sym, List.nil());
  2267             this.proxies = proxies;
  2267             this.proxies = proxies;
  2268         }
  2268         }
  2269 
  2269 
  2270         List<Attribute.TypeCompound> deproxyTypeCompoundList(List<TypeAnnotationProxy> proxies) {
  2270         List<Attribute.TypeCompound> deproxyTypeCompoundList(List<TypeAnnotationProxy> proxies) {
  2271             ListBuffer<Attribute.TypeCompound> buf = new ListBuffer<>();
  2271             ListBuffer<Attribute.TypeCompound> buf = new ListBuffer<>();