org.jf.dexlib2.dexbacked.util.AnnotationsDirectory Java Examples

The following examples show how to use org.jf.dexlib2.dexbacked.util.AnnotationsDirectory. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = null;
}
 
Example #2
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex,
                       @Nonnull AnnotationsDirectory.AnnotationIterator methodAnnotationIterator,
                       @Nonnull AnnotationsDirectory.AnnotationIterator paramaterAnnotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    
    //undo this data is error, the code 
    this.codeOffset = reader.readSmallUleb128();
    //end
    this.methodAnnotationSetOffset = methodAnnotationIterator.seekTo(methodIndex);
    this.parameterAnnotationSetListOffset = paramaterAnnotationIterator.seekTo(methodIndex);
}
 
Example #3
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = null;
}
 
Example #4
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull StaticInitialValueIterator staticInitialValueIterator,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = staticInitialValueIterator.getNextOrNull();
}
 
Example #5
Source File: DexBackedMethod.java    From HeyGirl with Apache License 2.0 6 votes vote down vote up
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex,
                       @Nonnull AnnotationsDirectory.AnnotationIterator methodAnnotationIterator,
                       @Nonnull AnnotationsDirectory.AnnotationIterator paramaterAnnotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    
    //undo this data is error, the code 
    this.codeOffset = reader.readSmallUleb128();
    //end
    this.methodAnnotationSetOffset = methodAnnotationIterator.seekTo(methodIndex);
    this.parameterAnnotationSetListOffset = paramaterAnnotationIterator.seekTo(methodIndex);
}
 
Example #6
Source File: DexBackedField.java    From HeyGirl with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = null;
}
 
Example #7
Source File: DexBackedField.java    From HeyGirl with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull StaticInitialValueIterator staticInitialValueIterator,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = staticInitialValueIterator.getNextOrNull();
}
 
Example #8
Source File: DexBackedMethod.java    From zjdroid with Apache License 2.0 6 votes vote down vote up
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex,
                       @Nonnull AnnotationsDirectory.AnnotationIterator methodAnnotationIterator,
                       @Nonnull AnnotationsDirectory.AnnotationIterator paramaterAnnotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    
    //undo this data is error, the code 
    this.codeOffset = reader.readSmallUleb128();
    //end
    this.methodAnnotationSetOffset = methodAnnotationIterator.seekTo(methodIndex);
    this.parameterAnnotationSetListOffset = paramaterAnnotationIterator.seekTo(methodIndex);
}
 
Example #9
Source File: DexBackedField.java    From zjdroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull StaticInitialValueIterator staticInitialValueIterator,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = staticInitialValueIterator.getNextOrNull();
}
 
Example #10
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull StaticInitialValueIterator staticInitialValueIterator,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = staticInitialValueIterator.getNextOrNull();
}
 
Example #11
Source File: DexBackedField.java    From zjdroid with Apache License 2.0 6 votes vote down vote up
public DexBackedField(@Nonnull DexReader reader,
                      @Nonnull DexBackedClassDef classDef,
                      int previousFieldIndex,
                      @Nonnull AnnotationsDirectory.AnnotationIterator annotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int fieldIndexDiff = reader.readLargeUleb128();
    this.fieldIndex = fieldIndexDiff + previousFieldIndex;
    this.accessFlags = reader.readSmallUleb128();

    this.annotationSetOffset = annotationIterator.seekTo(fieldIndex);
    this.initialValue = null;
}
 
Example #12
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 6 votes vote down vote up
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex,
                       @Nonnull AnnotationsDirectory.AnnotationIterator methodAnnotationIterator,
                       @Nonnull AnnotationsDirectory.AnnotationIterator paramaterAnnotationIterator) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    
    //undo this data is error, the code 
    this.codeOffset = reader.readSmallUleb128();
    //end
    this.methodAnnotationSetOffset = methodAnnotationIterator.seekTo(methodIndex);
    this.parameterAnnotationSetListOffset = paramaterAnnotationIterator.seekTo(methodIndex);
}
 
Example #13
Source File: DexBackedClassDef.java    From ZjDroid with Apache License 2.0 5 votes vote down vote up
private AnnotationsDirectory getAnnotationsDirectory() {
    if (annotationsDirectory == null) {
        int annotationsDirectoryOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.ANNOTATIONS_OFFSET);
        annotationsDirectory = AnnotationsDirectory.newOrEmpty(dexFile, annotationsDirectoryOffset);
    }
    return annotationsDirectory;
}
 
Example #14
Source File: DexBackedClassDef.java    From zjdroid with Apache License 2.0 5 votes vote down vote up
private AnnotationsDirectory getAnnotationsDirectory() {
    if (annotationsDirectory == null) {
        int annotationsDirectoryOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.ANNOTATIONS_OFFSET);
        annotationsDirectory = AnnotationsDirectory.newOrEmpty(dexFile, annotationsDirectoryOffset);
    }
    return annotationsDirectory;
}
 
Example #15
Source File: DexBackedClassDef.java    From ZjDroid with Apache License 2.0 5 votes vote down vote up
private AnnotationsDirectory getAnnotationsDirectory() {
    if (annotationsDirectory == null) {
        int annotationsDirectoryOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.ANNOTATIONS_OFFSET);
        annotationsDirectory = AnnotationsDirectory.newOrEmpty(dexFile, annotationsDirectoryOffset);
    }
    return annotationsDirectory;
}
 
Example #16
Source File: DexBackedClassDef.java    From HeyGirl with Apache License 2.0 5 votes vote down vote up
private AnnotationsDirectory getAnnotationsDirectory() {
    if (annotationsDirectory == null) {
        int annotationsDirectoryOffset = dexFile.readSmallUint(classDefOffset + ClassDefItem.ANNOTATIONS_OFFSET);
        annotationsDirectory = AnnotationsDirectory.newOrEmpty(dexFile, annotationsDirectoryOffset);
    }
    return annotationsDirectory;
}
 
Example #17
Source File: DexBackedMethod.java    From HeyGirl with Apache License 2.0 4 votes vote down vote up
@Nonnull
public List<? extends Set<? extends DexBackedAnnotation>> getParameterAnnotations() {
    return AnnotationsDirectory.getParameterAnnotations(dexFile, parameterAnnotationSetListOffset);
}
 
Example #18
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends Annotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, methodAnnotationSetOffset);
}
 
Example #19
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
public List<? extends Set<? extends DexBackedAnnotation>> getParameterAnnotations() {
    return AnnotationsDirectory.getParameterAnnotations(dexFile, parameterAnnotationSetListOffset);
}
 
Example #20
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends DexBackedAnnotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, annotationSetOffset);
}
 
Example #21
Source File: DexBackedField.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends DexBackedAnnotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, annotationSetOffset);
}
 
Example #22
Source File: DexBackedMethod.java    From HeyGirl with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends Annotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, methodAnnotationSetOffset);
}
 
Example #23
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
public List<? extends Set<? extends DexBackedAnnotation>> getParameterAnnotations() {
    return AnnotationsDirectory.getParameterAnnotations(dexFile, parameterAnnotationSetListOffset);
}
 
Example #24
Source File: DexBackedField.java    From HeyGirl with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends DexBackedAnnotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, annotationSetOffset);
}
 
Example #25
Source File: DexBackedMethod.java    From ZjDroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends Annotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, methodAnnotationSetOffset);
}
 
Example #26
Source File: DexBackedMethod.java    From zjdroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends Annotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, methodAnnotationSetOffset);
}
 
Example #27
Source File: DexBackedMethod.java    From zjdroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
public List<? extends Set<? extends DexBackedAnnotation>> getParameterAnnotations() {
    return AnnotationsDirectory.getParameterAnnotations(dexFile, parameterAnnotationSetListOffset);
}
 
Example #28
Source File: DexBackedField.java    From zjdroid with Apache License 2.0 4 votes vote down vote up
@Nonnull
@Override
public Set<? extends DexBackedAnnotation> getAnnotations() {
    return AnnotationsDirectory.getAnnotations(dexFile, annotationSetOffset);
}