_resolver = resolver; _resolverFrame = new ResolverFrame(); _internalName = thisClassEntry.getName(); _buffer = buffer; _constantPool = constantPool;
public TypeInfoEntry getTypeInfo(final TypeReference type) { final Utf8StringConstantEntry name = getUtf8StringConstant(type.getInternalName()); _lookupKey.set(Tag.TypeInfo, name.index); Entry entry = _entryMap.get(_lookupKey); if (entry == null) { if (isFrozen()) { return null; } entry = new TypeInfoEntry(this, name.index); } _lookupKey.clear(); return (TypeInfoEntry) entry; }
public TypeInfoEntry(final ConstantPool owner, final int nameIndex) { super(owner); this.nameIndex = nameIndex; owner._newKey.set(getTag(), nameIndex); owner._entryMap.put(owner._newKey.clone(), this); owner._newKey.clear(); }
break; case TypeInfo: new TypeInfoEntry(pool, b.readUnsignedShort()); break; case StringConstant:
break; case TypeInfo: new TypeInfoEntry(pool, b.readUnsignedShort()); break; case StringConstant:
_resolver = resolver; _resolverFrame = new ResolverFrame(); _internalName = thisClassEntry.getName(); _buffer = buffer; _constantPool = constantPool;
break; case TypeInfo: new TypeInfoEntry(pool, b.readUnsignedShort()); break; case StringConstant:
for(ConstantPool.Entry entry : type.getConstantPool()) { if(entry instanceof TypeInfoEntry) { String depName = getMainType(((TypeInfoEntry)entry).getName()); if(depName != null && !classes.contains(depName)) auxClasses.add(depName);
_resolver = resolver; _resolverFrame = new ResolverFrame(); _internalName = thisClassEntry.getName(); _buffer = buffer; _constantPool = constantPool;
private void populateBaseTypes() { final SignatureAttribute signature = SourceAttribute.find(AttributeNames.Signature, _attributes); final String[] interfaceNames = new String[_interfaceEntries.length]; for (int i = 0; i < _interfaceEntries.length; i++) { interfaceNames[i] = _interfaceEntries[i].getName(); } final TypeReference baseType; final Collection<TypeReference> explicitInterfaces = _typeDefinition.getExplicitInterfacesInternal(); final String genericSignature = signature != null ? signature.getSignature() : null; if (StringUtilities.isNullOrEmpty(genericSignature)) { baseType = _baseClassEntry != null ? _parser.parseTypeDescriptor(_baseClassEntry.getName()) : null; for (final String interfaceName : interfaceNames) { explicitInterfaces.add(_parser.parseTypeDescriptor(interfaceName)); } } else { final IClassSignature classSignature = _parser.parseClassSignature(genericSignature); baseType = classSignature.getBaseType(); explicitInterfaces.addAll(classSignature.getExplicitInterfaces()); _typeDefinition.getGenericParametersInternal().addAll(classSignature.getGenericParameters()); } _typeDefinition.setBaseType(baseType); }
private void populateBaseTypes() { final SignatureAttribute signature = SourceAttribute.find(AttributeNames.Signature, _attributes); final String[] interfaceNames = new String[_interfaceEntries.length]; for (int i = 0; i < _interfaceEntries.length; i++) { interfaceNames[i] = _interfaceEntries[i].getName(); } final TypeReference baseType; final Collection<TypeReference> explicitInterfaces = _typeDefinition.getExplicitInterfacesInternal(); final String genericSignature = signature != null ? signature.getSignature() : null; if (StringUtilities.isNullOrEmpty(genericSignature)) { baseType = _baseClassEntry != null ? _parser.parseTypeDescriptor(_baseClassEntry.getName()) : null; for (final String interfaceName : interfaceNames) { explicitInterfaces.add(_parser.parseTypeDescriptor(interfaceName)); } } else { final IClassSignature classSignature = _parser.parseClassSignature(genericSignature); baseType = classSignature.getBaseType(); explicitInterfaces.addAll(classSignature.getExplicitInterfaces()); _typeDefinition.getGenericParametersInternal().addAll(classSignature.getGenericParameters()); } _typeDefinition.setBaseType(baseType); }
private void populateBaseTypes() { final SignatureAttribute signature = SourceAttribute.find(AttributeNames.Signature, _attributes); final String[] interfaceNames = new String[_interfaceEntries.length]; for (int i = 0; i < _interfaceEntries.length; i++) { interfaceNames[i] = _interfaceEntries[i].getName(); } final TypeReference baseType; final Collection<TypeReference> explicitInterfaces = _typeDefinition.getExplicitInterfacesInternal(); final String genericSignature = signature != null ? signature.getSignature() : null; if (StringUtilities.isNullOrEmpty(genericSignature)) { baseType = _baseClassEntry != null ? _parser.parseTypeDescriptor(_baseClassEntry.getName()) : null; for (final String interfaceName : interfaceNames) { explicitInterfaces.add(_parser.parseTypeDescriptor(interfaceName)); } } else { final IClassSignature classSignature = _parser.parseClassSignature(genericSignature); baseType = classSignature.getBaseType(); explicitInterfaces.addAll(classSignature.getExplicitInterfaces()); _typeDefinition.getGenericParametersInternal().addAll(classSignature.getGenericParameters()); } _typeDefinition.setBaseType(baseType); }
private static String getInternalNameFromClassFile(final Buffer b) { final long magic = b.readInt() & 0xFFFFFFFFL; if (magic != 0xCAFEBABEL) { return null; } b.readUnsignedShort(); // minor version b.readUnsignedShort(); // major version final ConstantPool constantPool = ConstantPool.read(b); b.readUnsignedShort(); // access flags final ConstantPool.TypeInfoEntry thisClass = constantPool.getEntry(b.readUnsignedShort()); b.position(0); return thisClass.getName(); } }
private static String getInternalNameFromClassFile(final Buffer b) { final long magic = b.readInt() & 0xFFFFFFFFL; if (magic != 0xCAFEBABEL) { return null; } b.readUnsignedShort(); // minor version b.readUnsignedShort(); // major version final ConstantPool constantPool = ConstantPool.read(b); b.readUnsignedShort(); // access flags final ConstantPool.TypeInfoEntry thisClass = constantPool.getEntry(b.readUnsignedShort()); b.position(0); return thisClass.getName(); } }
private static String getInternalNameFromClassFile(final Buffer b) { final long magic = b.readInt() & 0xFFFFFFFFL; if (magic != 0xCAFEBABEL) { return null; } b.readUnsignedShort(); // minor version b.readUnsignedShort(); // major version final ConstantPool constantPool = ConstantPool.read(b); b.readUnsignedShort(); // access flags final ConstantPool.TypeInfoEntry thisClass = constantPool.getEntry(b.readUnsignedShort()); b.position(0); return thisClass.getName(); } }
private static String getInternalNameFromClassFile(final Buffer b) { final long magic = b.readInt() & 0xFFFFFFFFL; if (magic != 0xCAFEBABEL) { return null; } b.readUnsignedShort(); // minor version b.readUnsignedShort(); // major version final ConstantPool constantPool = ConstantPool.read(b); b.readUnsignedShort(); // access flags final ConstantPool.TypeInfoEntry thisClass = constantPool.getEntry(b.readUnsignedShort()); b.position(0); return thisClass.getName(); } }
private static String getInternalNameFromClassFile(final Buffer b) { final long magic = b.readInt() & 0xFFFFFFFFL; if (magic != 0xCAFEBABEL) { throw new IllegalStateException("Bad magic number: 0x" + Long.toHexString(magic)); } b.readUnsignedShort(); // minor version b.readUnsignedShort(); // major version final ConstantPool constantPool = ConstantPool.read(b); b.readUnsignedShort(); // access flags final ConstantPool.TypeInfoEntry thisClass = constantPool.getEntry(b.readUnsignedShort()); b.position(0); return thisClass.getName(); } }