2236 }
2237 ((ClassHeaderDescription) feature).innerClasses = innerClasses;
2238 break;
2239 case "RuntimeInvisibleAnnotations":
2240 feature.classAnnotations = annotations2Description(cf.constant_pool, attr);
2241 break;
2242 case "RuntimeVisibleAnnotations":
2243 feature.runtimeAnnotations = annotations2Description(cf.constant_pool, attr);
2244 break;
2245 case "Signature":
2246 feature.signature = ((Signature_attribute) attr).getSignature(cf.constant_pool);
2247 break;
2248 case "ConstantValue":
2249 assert feature instanceof FieldDescription;
2250 Object value = convertConstantValue(cf.constant_pool.get(((ConstantValue_attribute) attr).constantvalue_index), ((FieldDescription) feature).descriptor);
2251 if (((FieldDescription) feature).descriptor.equals("C")) {
2252 value = (char) (int) value;
2253 }
2254 ((FieldDescription) feature).constantValue = value;
2255 break;
2256 case "SourceFile":
2257 //ignore, not needed
2258 break;
2259 case "BootstrapMethods":
2260 //ignore, not needed
2261 break;
2262 case "Code":
2263 //ignore, not needed
2264 break;
2265 case "EnclosingMethod":
2266 return false;
2267 case "Synthetic":
2268 break;
2269 case "RuntimeVisibleParameterAnnotations":
2270 assert feature instanceof MethodDescription;
2271 ((MethodDescription) feature).runtimeParameterAnnotations =
2272 parameterAnnotations2Description(cf.constant_pool, attr);
2273 break;
2274 case "RuntimeInvisibleParameterAnnotations":
2275 assert feature instanceof MethodDescription;
|
2236 }
2237 ((ClassHeaderDescription) feature).innerClasses = innerClasses;
2238 break;
2239 case "RuntimeInvisibleAnnotations":
2240 feature.classAnnotations = annotations2Description(cf.constant_pool, attr);
2241 break;
2242 case "RuntimeVisibleAnnotations":
2243 feature.runtimeAnnotations = annotations2Description(cf.constant_pool, attr);
2244 break;
2245 case "Signature":
2246 feature.signature = ((Signature_attribute) attr).getSignature(cf.constant_pool);
2247 break;
2248 case "ConstantValue":
2249 assert feature instanceof FieldDescription;
2250 Object value = convertConstantValue(cf.constant_pool.get(((ConstantValue_attribute) attr).constantvalue_index), ((FieldDescription) feature).descriptor);
2251 if (((FieldDescription) feature).descriptor.equals("C")) {
2252 value = (char) (int) value;
2253 }
2254 ((FieldDescription) feature).constantValue = value;
2255 break;
2256 case "Preload":
2257 case "SourceFile":
2258 //ignore, not needed
2259 break;
2260 case "BootstrapMethods":
2261 //ignore, not needed
2262 break;
2263 case "Code":
2264 //ignore, not needed
2265 break;
2266 case "EnclosingMethod":
2267 return false;
2268 case "Synthetic":
2269 break;
2270 case "RuntimeVisibleParameterAnnotations":
2271 assert feature instanceof MethodDescription;
2272 ((MethodDescription) feature).runtimeParameterAnnotations =
2273 parameterAnnotations2Description(cf.constant_pool, attr);
2274 break;
2275 case "RuntimeInvisibleParameterAnnotations":
2276 assert feature instanceof MethodDescription;
|