package de.take_weiland.mods.commons.asm.info;
import org.objectweb.asm.tree.ClassNode;
import java.util.List;
import static com.google.common.base.Preconditions.checkNotNull;
/**
* @author diesieben07
*/
final class ClassInfoASM extends ClassInfo {
private final ClassNode clazz;
ClassInfoASM(ClassNode clazz) {
this.clazz = checkNotNull(clazz, "ClassNode");
}
@Override
public List<String> interfaces() {
return clazz.interfaces;
}
@Override
public String superName() {
return clazz.superName;
}
@Override
public String internalName() {
return clazz.name;
}
@Override
public int modifiers() {
return clazz.access;
}
@Override
public int getDimensions() {
// we never load array classes as a ClassNode
return 0;
}
@Override
public String getSourceFile() {
return clazz.sourceFile;
}
}