Signature_attribute
555556557558559560561562563564565566567
} } } private static void getSignatureImports(Imports imports, Attributes attrs) { SignatureAttribute attr = attrs.getSignatureAttribute(); if (attr != null) { Signature signature = Signatures.getSignature(attr.getSignatureString()); List<FormalTypeParameter> typeParams = signature.getFormalTypeParameters(); if (typeParams != null) { for (FormalTypeParameter typeParam : typeParams) { for (GenericJavaType type : typeParam.getTypeUnion()) { getGenericJavaTypeImports(imports, type);
4849505152535455565758
{ protected Attribute read (ClassReader cr, int off, int len, char[] buf, int codeOff, Label[] labels) { SignatureAttribute attr = (SignatureAttribute)super.read(cr, off, len, buf, codeOff, labels); ASMSignatureAttribute result = new ASMSignatureAttribute(); result.signature = attr.signature; return result;
199200201202203204205206207208209
int colon = desc.indexOf(':'); String type = desc.substring(colon + 1); CPUTF8 value = new CPUTF8((String) signatureLayout.getValue(result, type, cpBands.getConstantPool())); fieldAttributes[i][j] .add(new SignatureAttribute(value)); signatureIndex++; } } } parseFieldMetadataBands(in, fieldAttrCalls);
239240241242243244245246247248249
int colon = desc.indexOf(':'); String type = desc.substring(colon + 1); CPUTF8 value = new CPUTF8((String) signatureLayout.getValue(result, type, cpBands.getConstantPool()), ClassConstantPool.DOMAIN_SIGNATUREASCIIZ); fieldAttributes[i][j] .add(new SignatureAttribute(value)); signatureIndex++; } // Non-predefined attributes for (int k = 0; k < otherLayouts.length; k++) { if(otherLayouts[k] != null && otherLayouts[k].matches(flag)) {
271272273274275276277278279280281
String desc = fieldDescr[i][j]; int colon = desc.indexOf(':'); String type = desc.substring(colon + 1); CPUTF8 value = (CPUTF8) signatureLayout.getValue(result, type, cpBands.getConstantPool()); fieldAttributes[i][j].add(new SignatureAttribute(value)); signatureIndex++; } // Non-predefined attributes for (int k = 0; k < otherLayouts.length; k++) { if (otherLayouts[k] != null
417418419420421422423424425426427
if (type.equals("B") || type.equals("H")) type = "I"; CPUTF8 value = (CPUTF8) methodSignatureLayout.getValue( result, type, cpBands.getConstantPool()); methodAttributes[i][j] .add(new SignatureAttribute(value)); methodSignatureIndex++; } if (deprecatedLayout.matches(flag)) { methodAttributes[i][j].add(new DeprecatedAttribute()); }
648649650651652653654655656657658
} if (signatureLayout.matches(flag)) { long result = classSignature[signatureIndex]; CPUTF8 value = (CPUTF8) signatureLayout.getValue(result, cpBands .getConstantPool()); classAttributes[i].add(new SignatureAttribute(value)); signatureIndex++; } if (innerClassLayout.matches(flag)) { // Just create the tuples for now because the attributes are // decided at the end when creating class constant pools
238239240241242243244245246247248
String desc = fieldDescr[i][j]; int colon = desc.indexOf(':'); String type = desc.substring(colon + 1); CPUTF8 value = (CPUTF8) signatureLayout.getValue(result, type, cpBands.getConstantPool()); fieldAttributes[i][j].add(new SignatureAttribute(value)); signatureIndex++; } } }
384385386387388389390391392393394
659660661662663664665666667668669