public class DexBuilder extends DexWriter<BuilderStringReference,BuilderStringReference,BuilderTypeReference,BuilderTypeReference,BuilderMethodProtoReference,BuilderFieldReference,BuilderMethodReference,BuilderClassDef,BuilderCallSiteReference,BuilderMethodHandleReference,org.jf.dexlib2.writer.builder.BuilderAnnotation,BuilderAnnotationSet,BuilderTypeList,BuilderField,BuilderMethod,BuilderEncodedValues.BuilderArrayEncodedValue,BuilderEncodedValues.BuilderEncodedValue,BuilderAnnotationElement,org.jf.dexlib2.writer.builder.BuilderStringPool,org.jf.dexlib2.writer.builder.BuilderTypePool,org.jf.dexlib2.writer.builder.BuilderProtoPool,BuilderFieldPool,org.jf.dexlib2.writer.builder.BuilderMethodPool,BuilderClassPool,BuilderCallSitePool,BuilderMethodHandlePool,org.jf.dexlib2.writer.builder.BuilderTypeListPool,org.jf.dexlib2.writer.builder.BuilderAnnotationPool,org.jf.dexlib2.writer.builder.BuilderAnnotationSetPool,BuilderEncodedArrayPool>
| Modifier and Type | Class and Description |
|---|---|
protected class |
DexBuilder.DexBuilderSectionProvider |
DexWriter.InternalEncodedValueWriter, DexWriter.SectionProviderannotationDirectorySectionOffset, annotationSection, annotationSectionOffset, annotationSetRefSectionOffset, annotationSetSection, annotationSetSectionOffset, callSiteSection, callSiteSectionOffset, classDataSectionOffset, classIndexSectionOffset, classSection, codeSectionOffset, debugSectionOffset, encodedArraySection, encodedArraySectionOffset, fieldSection, fieldSectionOffset, mapSectionOffset, MAX_POOL_SIZE, methodHandleSection, methodHandleSectionOffset, methodSection, methodSectionOffset, NO_INDEX, NO_OFFSET, numAnnotationDirectoryItems, numAnnotationSetRefItems, numClassDataItems, numCodeItemItems, numDebugInfoItems, opcodes, protoSection, protoSectionOffset, stringDataSectionOffset, stringIndexSectionOffset, stringSection, typeListSection, typeListSectionOffset, typeSection, typeSectionOffset| Constructor and Description |
|---|
DexBuilder(Opcodes opcodes) |
| Modifier and Type | Method and Description |
|---|---|
protected DexWriter.SectionProvider |
getSectionProvider() |
BuilderCallSiteReference |
internCallSite(CallSiteReference callSiteReference) |
BuilderClassDef |
internClassDef(java.lang.String type,
int accessFlags,
java.lang.String superclass,
java.util.List<java.lang.String> interfaces,
java.lang.String sourceFile,
java.util.Set<? extends Annotation> annotations,
java.lang.Iterable<? extends BuilderField> fields,
java.lang.Iterable<? extends BuilderMethod> methods) |
BuilderField |
internField(java.lang.String definingClass,
java.lang.String name,
java.lang.String type,
int accessFlags,
EncodedValue initialValue,
java.util.Set<? extends Annotation> annotations) |
BuilderFieldReference |
internFieldReference(FieldReference field) |
BuilderMethod |
internMethod(java.lang.String definingClass,
java.lang.String name,
java.util.List<? extends MethodParameter> parameters,
java.lang.String returnType,
int accessFlags,
java.util.Set<? extends Annotation> annotations,
MethodImplementation methodImplementation) |
BuilderMethodHandleReference |
internMethodHandle(MethodHandleReference methodHandleReference) |
BuilderMethodProtoReference |
internMethodProtoReference(MethodProtoReference methodProto) |
BuilderMethodReference |
internMethodReference(MethodReference method) |
BuilderStringReference |
internNullableStringReference(java.lang.String string) |
BuilderTypeReference |
internNullableTypeReference(java.lang.String type) |
BuilderReference |
internReference(Reference reference) |
BuilderStringReference |
internStringReference(java.lang.String string) |
BuilderTypeReference |
internTypeReference(java.lang.String type) |
protected void |
writeEncodedValue(DexWriter.InternalEncodedValueWriter writer,
BuilderEncodedValues.BuilderEncodedValue encodedValue) |
getFieldReferences, getMethodReferences, getTypeReferences, hasOverflowed, hasOverflowed, writeTo, writeTopublic DexBuilder(@Nonnull
Opcodes opcodes)
@Nonnull protected DexWriter.SectionProvider getSectionProvider()
getSectionProvider in class DexWriter<BuilderStringReference,BuilderStringReference,BuilderTypeReference,BuilderTypeReference,BuilderMethodProtoReference,BuilderFieldReference,BuilderMethodReference,BuilderClassDef,BuilderCallSiteReference,BuilderMethodHandleReference,org.jf.dexlib2.writer.builder.BuilderAnnotation,BuilderAnnotationSet,BuilderTypeList,BuilderField,BuilderMethod,BuilderEncodedValues.BuilderArrayEncodedValue,BuilderEncodedValues.BuilderEncodedValue,BuilderAnnotationElement,org.jf.dexlib2.writer.builder.BuilderStringPool,org.jf.dexlib2.writer.builder.BuilderTypePool,org.jf.dexlib2.writer.builder.BuilderProtoPool,BuilderFieldPool,org.jf.dexlib2.writer.builder.BuilderMethodPool,BuilderClassPool,BuilderCallSitePool,BuilderMethodHandlePool,org.jf.dexlib2.writer.builder.BuilderTypeListPool,org.jf.dexlib2.writer.builder.BuilderAnnotationPool,org.jf.dexlib2.writer.builder.BuilderAnnotationSetPool,BuilderEncodedArrayPool>@Nonnull public BuilderField internField(@Nonnull java.lang.String definingClass, @Nonnull java.lang.String name, @Nonnull java.lang.String type, int accessFlags, @Nullable EncodedValue initialValue, @Nonnull java.util.Set<? extends Annotation> annotations)
@Nonnull public BuilderMethod internMethod(@Nonnull java.lang.String definingClass, @Nonnull java.lang.String name, @Nullable java.util.List<? extends MethodParameter> parameters, @Nonnull java.lang.String returnType, int accessFlags, @Nonnull java.util.Set<? extends Annotation> annotations, @Nullable MethodImplementation methodImplementation)
@Nonnull public BuilderClassDef internClassDef(@Nonnull java.lang.String type, int accessFlags, @Nullable java.lang.String superclass, @Nullable java.util.List<java.lang.String> interfaces, @Nullable java.lang.String sourceFile, @Nonnull java.util.Set<? extends Annotation> annotations, @Nullable java.lang.Iterable<? extends BuilderField> fields, @Nullable java.lang.Iterable<? extends BuilderMethod> methods)
public BuilderCallSiteReference internCallSite(@Nonnull CallSiteReference callSiteReference)
public BuilderMethodHandleReference internMethodHandle(@Nonnull MethodHandleReference methodHandleReference)
@Nonnull public BuilderStringReference internStringReference(@Nonnull java.lang.String string)
@Nullable public BuilderStringReference internNullableStringReference(@Nullable java.lang.String string)
@Nonnull public BuilderTypeReference internTypeReference(@Nonnull java.lang.String type)
@Nullable public BuilderTypeReference internNullableTypeReference(@Nullable java.lang.String type)
@Nonnull public BuilderFieldReference internFieldReference(@Nonnull FieldReference field)
@Nonnull public BuilderMethodReference internMethodReference(@Nonnull MethodReference method)
@Nonnull public BuilderMethodProtoReference internMethodProtoReference(@Nonnull MethodProtoReference methodProto)
@Nonnull public BuilderReference internReference(@Nonnull Reference reference)
protected void writeEncodedValue(@Nonnull
DexWriter.InternalEncodedValueWriter writer,
@Nonnull
BuilderEncodedValues.BuilderEncodedValue encodedValue)
throws java.io.IOException
writeEncodedValue in class DexWriter<BuilderStringReference,BuilderStringReference,BuilderTypeReference,BuilderTypeReference,BuilderMethodProtoReference,BuilderFieldReference,BuilderMethodReference,BuilderClassDef,BuilderCallSiteReference,BuilderMethodHandleReference,org.jf.dexlib2.writer.builder.BuilderAnnotation,BuilderAnnotationSet,BuilderTypeList,BuilderField,BuilderMethod,BuilderEncodedValues.BuilderArrayEncodedValue,BuilderEncodedValues.BuilderEncodedValue,BuilderAnnotationElement,org.jf.dexlib2.writer.builder.BuilderStringPool,org.jf.dexlib2.writer.builder.BuilderTypePool,org.jf.dexlib2.writer.builder.BuilderProtoPool,BuilderFieldPool,org.jf.dexlib2.writer.builder.BuilderMethodPool,BuilderClassPool,BuilderCallSitePool,BuilderMethodHandlePool,org.jf.dexlib2.writer.builder.BuilderTypeListPool,org.jf.dexlib2.writer.builder.BuilderAnnotationPool,org.jf.dexlib2.writer.builder.BuilderAnnotationSetPool,BuilderEncodedArrayPool>java.io.IOException