WALA/com.ibm.wala.cast/source/java/com/ibm/wala/cast/loader/AstDynamicField.java

92 lines
1.8 KiB
Java

package com.ibm.wala.cast.loader;
import java.util.Collection;
import java.util.Collections;
import com.ibm.wala.classLoader.IClass;
import com.ibm.wala.classLoader.IField;
import com.ibm.wala.ipa.cha.IClassHierarchy;
import com.ibm.wala.types.FieldReference;
import com.ibm.wala.types.TypeReference;
import com.ibm.wala.types.annotations.Annotation;
import com.ibm.wala.util.strings.Atom;
public class AstDynamicField implements IField {
private final boolean isStatic;
private final TypeReference descriptor;
private final IClass cls;
private final Atom name;
public AstDynamicField(boolean isStatic, IClass cls, Atom name, TypeReference descriptor) {
this.isStatic = isStatic;
this.descriptor = descriptor;
this.cls = cls;
this.name = name;
}
@Override
public String toString() {
return "<field " + name + ">";
}
@Override
public IClass getDeclaringClass() {
return cls;
}
@Override
public Atom getName() {
return name;
}
@Override
public TypeReference getFieldTypeReference() {
return descriptor;
}
@Override
public FieldReference getReference() {
return FieldReference.findOrCreate(cls.getReference(), name, descriptor);
}
@Override
public boolean isFinal() {
return false;
}
@Override
public boolean isPrivate() {
return false;
}
@Override
public boolean isProtected() {
return false;
}
@Override
public boolean isPublic() {
return false;
}
@Override
public boolean isVolatile() {
return false;
}
@Override
public boolean isStatic() {
return isStatic;
}
@Override
public IClassHierarchy getClassHierarchy() {
return cls.getClassHierarchy();
}
@Override
public Collection<Annotation> getAnnotations() {
return Collections.emptySet();
}
}