package xsbti.api;
import java.util.Arrays;
import java.util.List;
public final class ClassLike extends ParameterizedDefinition
{
public ClassLike(DefinitionType definitionType, Lazy<Type> selfType, Lazy<Structure> structure, String[] savedAnnotations, TypeParameter[] typeParameters, String name, Access access, Modifiers modifiers, Annotation[] annotations)
{
super(typeParameters, name, access, modifiers, annotations);
this.definitionType = definitionType;
this.selfType = selfType;
this.structure = structure;
this.savedAnnotations = savedAnnotations;
}
private final DefinitionType definitionType;
private final Lazy<Type> selfType;
private final Lazy<Structure> structure;
private final String[] savedAnnotations;
public final DefinitionType definitionType()
{
return definitionType;
}
public final Type selfType()
{
return selfType.get();
}
public final Structure structure()
{
return structure.get();
}
public final String[] savedAnnotations()
{
return savedAnnotations;
}
public boolean equals(Object obj)
{
return this == obj; // We have lazy members, so use object identity to avoid circularity.
}
public int hashCode()
{
return super.hashCode();
}
public String toString()
{
return super.toString();
}
}