All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.qbicc.plugin.patcher.FieldPatchInfo Maven / Gradle / Ivy

package org.qbicc.plugin.patcher;

import org.qbicc.context.Locatable;
import org.qbicc.context.Location;
import org.qbicc.type.annotation.Annotation;
import org.qbicc.type.definition.FieldResolver;
import org.qbicc.type.definition.InitializerResolver;
import org.qbicc.type.descriptor.TypeDescriptor;

import java.util.List;

/**
 *
 */
final class FieldPatchInfo extends MemberPatchInfo implements Locatable {
    private final FieldResolver fieldResolver;
    private final TypeDescriptor descriptor;
    private final String name;

    FieldPatchInfo(String internalName, int index, int modifiers, FieldResolver fieldResolver, TypeDescriptor descriptor, String name, Annotation annotation, List addedAnnotations) {
        super(index, modifiers, internalName, annotation, addedAnnotations);
        this.fieldResolver = fieldResolver;
        this.descriptor = descriptor;
        this.name = name;
    }

    FieldResolver getFieldResolver() {
        return fieldResolver;
    }

    TypeDescriptor getDescriptor() {
        return descriptor;
    }

    public String getName() {
        return name;
    }

    @Override
    public Location getLocation() {
        return ClassContextPatchInfo.getFieldLocation(getInternalName(), name);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy