92 lines
1.8 KiB
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();
|
|
}
|
|
}
|