langtools/src/share/classes/com/sun/tools/javac/model/AnnotationProxyMaker.java
changeset 1789 7ac8c0815000
parent 1264 076a3cde30d5
child 5003 fd0b30cdbe5c
equal deleted inserted replaced
1788:ced0a1a7ec80 1789:7ac8c0815000
   213                     returnClass = returnClassSaved;
   213                     returnClass = returnClassSaved;
   214                 }
   214                 }
   215             }
   215             }
   216         }
   216         }
   217 
   217 
   218         @SuppressWarnings("unchecked")
   218         @SuppressWarnings({"unchecked", "rawtypes"})
   219         public void visitEnum(Attribute.Enum e) {
   219         public void visitEnum(Attribute.Enum e) {
   220             if (returnClass.isEnum()) {
   220             if (returnClass.isEnum()) {
   221                 String constName = e.value.toString();
   221                 String constName = e.value.toString();
   222                 try {
   222                 try {
   223                     value = Enum.valueOf((Class) returnClass, constName);
   223                     value = Enum.valueOf((Class)returnClass, constName);
   224                 } catch (IllegalArgumentException ex) {
   224                 } catch (IllegalArgumentException ex) {
   225                     value = new EnumConstantNotPresentExceptionProxy(
   225                     value = new EnumConstantNotPresentExceptionProxy(
   226                                         (Class) returnClass, constName);
   226                                         (Class<Enum<?>>) returnClass, constName);
   227                 }
   227                 }
   228             } else {
   228             } else {
   229                 value = null;   // indicates a type mismatch
   229                 value = null;   // indicates a type mismatch
   230             }
   230             }
   231         }
   231         }