Package org.jf.dexlib2.writer.builder
Class DexBuilder
java.lang.Object
org.jf.dexlib2.writer.DexWriter<BuilderStringReference,BuilderStringReference,BuilderTypeReference,BuilderTypeReference,BuilderMethodProtoReference,BuilderFieldReference,BuilderMethodReference,BuilderClassDef,BuilderCallSiteReference,BuilderMethodHandleReference,BuilderAnnotation,BuilderAnnotationSet,BuilderTypeList,BuilderField,BuilderMethod,BuilderEncodedValues.BuilderArrayEncodedValue,BuilderEncodedValues.BuilderEncodedValue,BuilderAnnotationElement,BuilderStringPool,BuilderTypePool,BuilderProtoPool,BuilderFieldPool,BuilderMethodPool,BuilderClassPool,BuilderCallSitePool,BuilderMethodHandlePool,BuilderTypeListPool,BuilderAnnotationPool,BuilderAnnotationSetPool,BuilderEncodedArrayPool>
org.jf.dexlib2.writer.builder.DexBuilder
public class DexBuilder
extends DexWriter<BuilderStringReference,BuilderStringReference,BuilderTypeReference,BuilderTypeReference,BuilderMethodProtoReference,BuilderFieldReference,BuilderMethodReference,BuilderClassDef,BuilderCallSiteReference,BuilderMethodHandleReference,BuilderAnnotation,BuilderAnnotationSet,BuilderTypeList,BuilderField,BuilderMethod,BuilderEncodedValues.BuilderArrayEncodedValue,BuilderEncodedValues.BuilderEncodedValue,BuilderAnnotationElement,BuilderStringPool,BuilderTypePool,BuilderProtoPool,BuilderFieldPool,BuilderMethodPool,BuilderClassPool,BuilderCallSitePool,BuilderMethodHandlePool,BuilderTypeListPool,BuilderAnnotationPool,BuilderAnnotationSetPool,BuilderEncodedArrayPool>
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.jf.dexlib2.writer.DexWriter
DexWriter.InternalEncodedValueWriter, DexWriter.SectionProvider -
Field Summary
Fields inherited from class org.jf.dexlib2.writer.DexWriter
annotationDirectorySectionOffset, annotationSection, annotationSectionOffset, annotationSetRefSectionOffset, annotationSetSection, annotationSetSectionOffset, callSiteSection, callSiteSectionOffset, classDataSectionOffset, classIndexSectionOffset, classSection, codeSectionOffset, debugSectionOffset, encodedArraySection, encodedArraySectionOffset, fieldSection, fieldSectionOffset, hasHiddenApiRestrictions, hiddenApiRestrictionsOffset, 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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DexWriter<BuilderStringReference,BuilderStringReference, BuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool>.SectionProvider private BuilderAnnotationElementinternAnnotationElement(AnnotationElement annotationElement) (package private) Set<? extends BuilderAnnotationElement> internAnnotationElements(Set<? extends AnnotationElement> elements) internCallSite(CallSiteReference callSiteReference) internClassDef(String type, int accessFlags, String superclass, List<String> interfaces, String sourceFile, Set<? extends Annotation> annotations, Iterable<? extends BuilderField> fields, Iterable<? extends BuilderMethod> methods) (package private) BuilderEncodedValues.BuilderEncodedValueinternEncodedValue(EncodedValue encodedValue) internField(String definingClass, String name, String type, int accessFlags, EncodedValue initialValue, Set<? extends Annotation> annotations, Set<HiddenApiRestriction> hiddenApiRestrictions) internMethod(String definingClass, String name, List<? extends MethodParameter> parameters, String returnType, int accessFlags, Set<? extends Annotation> annotations, Set<HiddenApiRestriction> hiddenApiRestrictions, MethodImplementation methodImplementation) internMethodHandle(MethodHandleReference methodHandleReference) internMethodHandleEncodedValue(MethodHandleEncodedValue methodHandle) private BuilderMethodParameterinternMethodParameter(MethodParameter methodParameter) private List<BuilderMethodParameter> internMethodParameters(List<? extends MethodParameter> methodParameters) internMethodProtoReference(MethodProtoReference methodProto) internMethodReference(MethodReference method) internMethodTypeEncodedValue(MethodTypeEncodedValue methodType) (package private) BuilderEncodedValues.BuilderEncodedValueinternNullableEncodedValue(EncodedValue encodedValue) internNullableStringReference(String string) internReference(Reference reference) internStringReference(String string) internTypeReference(String type) protected voidwriteEncodedValue(DexWriter<BuilderStringReference, BuilderStringReference, BuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool>.InternalEncodedValueWriter writer, BuilderEncodedValues.BuilderEncodedValue encodedValue) Methods inherited from class org.jf.dexlib2.writer.DexWriter
getFieldReferences, getMethodReferences, getTypeReferences, hasOverflowed, hasOverflowed, writeTo, writeTo
-
Constructor Details
-
DexBuilder
-
-
Method Details
-
getSectionProvider
@Nonnull protected DexWriter<BuilderStringReference,BuilderStringReference, getSectionProvider()BuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool>.SectionProvider - Specified by:
getSectionProviderin classDexWriter<BuilderStringReference,BuilderStringReference, BuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool>
-
internField
@Nonnull public BuilderField internField(@Nonnull String definingClass, @Nonnull String name, @Nonnull String type, int accessFlags, @Nullable EncodedValue initialValue, @Nonnull Set<? extends Annotation> annotations, @Nonnull Set<HiddenApiRestriction> hiddenApiRestrictions) -
internMethod
@Nonnull public BuilderMethod internMethod(@Nonnull String definingClass, @Nonnull String name, @Nullable List<? extends MethodParameter> parameters, @Nonnull String returnType, int accessFlags, @Nonnull Set<? extends Annotation> annotations, @Nonnull Set<HiddenApiRestriction> hiddenApiRestrictions, @Nullable MethodImplementation methodImplementation) -
internClassDef
@Nonnull public BuilderClassDef internClassDef(@Nonnull String type, int accessFlags, @Nullable String superclass, @Nullable List<String> interfaces, @Nullable String sourceFile, @Nonnull Set<? extends Annotation> annotations, @Nullable Iterable<? extends BuilderField> fields, @Nullable Iterable<? extends BuilderMethod> methods) -
internCallSite
-
internMethodHandle
public BuilderMethodHandleReference internMethodHandle(@Nonnull MethodHandleReference methodHandleReference) -
internStringReference
-
internNullableStringReference
-
internTypeReference
-
internNullableTypeReference
-
internFieldReference
-
internMethodReference
-
internMethodProtoReference
@Nonnull public BuilderMethodProtoReference internMethodProtoReference(@Nonnull MethodProtoReference methodProto) -
internReference
-
internMethodParameters
@Nonnull private List<BuilderMethodParameter> internMethodParameters(@Nullable List<? extends MethodParameter> methodParameters) -
internMethodParameter
@Nonnull private BuilderMethodParameter internMethodParameter(@Nonnull MethodParameter methodParameter) -
writeEncodedValue
protected void writeEncodedValue(@Nonnull DexWriter<BuilderStringReference, BuilderStringReference, throws IOExceptionBuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool>.InternalEncodedValueWriter writer, @Nonnull BuilderEncodedValues.BuilderEncodedValue encodedValue) - Specified by:
writeEncodedValuein classDexWriter<BuilderStringReference,BuilderStringReference, BuilderTypeReference, BuilderTypeReference, BuilderMethodProtoReference, BuilderFieldReference, BuilderMethodReference, BuilderClassDef, BuilderCallSiteReference, BuilderMethodHandleReference, BuilderAnnotation, BuilderAnnotationSet, BuilderTypeList, BuilderField, BuilderMethod, BuilderEncodedValues.BuilderArrayEncodedValue, BuilderEncodedValues.BuilderEncodedValue, BuilderAnnotationElement, BuilderStringPool, BuilderTypePool, BuilderProtoPool, BuilderFieldPool, BuilderMethodPool, BuilderClassPool, BuilderCallSitePool, BuilderMethodHandlePool, BuilderTypeListPool, BuilderAnnotationPool, BuilderAnnotationSetPool, BuilderEncodedArrayPool> - Throws:
IOException
-
internAnnotationElements
@Nonnull Set<? extends BuilderAnnotationElement> internAnnotationElements(@Nonnull Set<? extends AnnotationElement> elements) -
internAnnotationElement
@Nonnull private BuilderAnnotationElement internAnnotationElement(@Nonnull AnnotationElement annotationElement) -
internNullableEncodedValue
@Nullable BuilderEncodedValues.BuilderEncodedValue internNullableEncodedValue(@Nullable EncodedValue encodedValue) -
internEncodedValue
@Nonnull BuilderEncodedValues.BuilderEncodedValue internEncodedValue(@Nonnull EncodedValue encodedValue) -
internAnnotationEncodedValue
@Nonnull private BuilderEncodedValues.BuilderAnnotationEncodedValue internAnnotationEncodedValue(@Nonnull AnnotationEncodedValue value) -
internArrayEncodedValue
@Nonnull private BuilderEncodedValues.BuilderArrayEncodedValue internArrayEncodedValue(@Nonnull ArrayEncodedValue value) -
internEnumEncodedValue
@Nonnull private BuilderEncodedValues.BuilderEnumEncodedValue internEnumEncodedValue(@Nonnull EnumEncodedValue value) -
internFieldEncodedValue
@Nonnull private BuilderEncodedValues.BuilderFieldEncodedValue internFieldEncodedValue(@Nonnull FieldEncodedValue value) -
internMethodEncodedValue
@Nonnull private BuilderEncodedValues.BuilderMethodEncodedValue internMethodEncodedValue(@Nonnull MethodEncodedValue value) -
internStringEncodedValue
@Nonnull private BuilderEncodedValues.BuilderStringEncodedValue internStringEncodedValue(@Nonnull StringEncodedValue string) -
internTypeEncodedValue
@Nonnull private BuilderEncodedValues.BuilderTypeEncodedValue internTypeEncodedValue(@Nonnull TypeEncodedValue type) -
internMethodTypeEncodedValue
@Nonnull private BuilderEncodedValues.BuilderMethodTypeEncodedValue internMethodTypeEncodedValue(@Nonnull MethodTypeEncodedValue methodType) -
internMethodHandleEncodedValue
@Nonnull private BuilderEncodedValues.BuilderMethodHandleEncodedValue internMethodHandleEncodedValue(@Nonnull MethodHandleEncodedValue methodHandle)
-