dexPool.typeListSection.intern(poolClassDef.getInterfaces()); dexPool.stringSection.internNullable(poolClassDef.getSourceFile());
@Nonnull @Override public TypeListPool getTypeListSection() { return new TypeListPool(DexPool.this); }
@Nonnull @Override public TypeListPool getTypeListSection() { return new TypeListPool(DexPool.this); }
public void intern(@Nonnull MethodProtoReference reference) { Integer prev = internedItems.put(reference, 0); if (prev == null) { dexPool.stringSection.intern(getShorty(reference)); dexPool.typeSection.intern(reference.getReturnType()); dexPool.typeListSection.intern(reference.getParameterTypes()); } }
public static DexPool makeDexPool(int api) { StringPool stringPool = new StringPool(); TypePool typePool = new TypePool(stringPool); FieldPool fieldPool = new FieldPool(stringPool, typePool); TypeListPool typeListPool = new TypeListPool(typePool); ProtoPool protoPool = new ProtoPool(stringPool, typePool, typeListPool); MethodPool methodPool = new MethodPool(stringPool, typePool, protoPool); AnnotationPool annotationPool = new AnnotationPool(stringPool, typePool, fieldPool, methodPool); AnnotationSetPool annotationSetPool = new AnnotationSetPool(annotationPool); ClassPool classPool = new ClassPool(stringPool, typePool, fieldPool, methodPool, annotationSetPool, typeListPool); return new DexPool(api, stringPool, typePool, protoPool, fieldPool, methodPool, classPool, typeListPool, annotationPool, annotationSetPool); }
public void intern(@Nonnull MethodProtoReference reference) { Integer prev = internedItems.put(reference, 0); if (prev == null) { dexPool.stringSection.intern(getShorty(reference)); dexPool.typeSection.intern(reference.getReturnType()); dexPool.typeListSection.intern(reference.getParameterTypes()); } }
public void intern(@Nonnull MethodReference method) { // We can't use method directly, because it is likely a full MethodReference. We use a wrapper that computes // hashCode and equals based only on the prototype fields Key key = new Key(method); Integer prev = internedItems.put(key, 0); if (prev == null) { stringPool.intern(key.getShorty()); typePool.intern(method.getReturnType()); typeListPool.intern(method.getParameterTypes()); } }
typeListPool.intern(poolClassDef.getInterfaces()); stringPool.internNullable(poolClassDef.getSourceFile());
dexPool.typeListSection.intern(poolClassDef.getInterfaces()); dexPool.stringSection.internNullable(poolClassDef.getSourceFile());