52 lines
890 B
Java
52 lines
890 B
Java
package info.sigterm.deob;
|
|
|
|
import java.io.DataInputStream;
|
|
import java.io.IOException;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class ClassGroup
|
|
{
|
|
private List<ClassFile> classes = new ArrayList<>();
|
|
|
|
public ClassGroup()
|
|
{
|
|
}
|
|
|
|
public ClassFile addClass(String name, DataInputStream is) throws IOException
|
|
{
|
|
ClassFile cf = new ClassFile(this, is);
|
|
classes.add(cf);
|
|
return cf;
|
|
}
|
|
|
|
public List<ClassFile> getClasses()
|
|
{
|
|
return classes;
|
|
}
|
|
|
|
public ClassFile findClass(String name)
|
|
{
|
|
// XXX handle arrays?
|
|
for (ClassFile c : classes)
|
|
if (c.getName().equals(name))
|
|
return c;
|
|
return null;
|
|
}
|
|
|
|
public void buildClassGraph()
|
|
{
|
|
for (ClassFile c : classes)
|
|
c.clearClassGraph();
|
|
|
|
for (ClassFile c : classes)
|
|
c.buildClassGraph();
|
|
}
|
|
|
|
public void buildInstructionGraph()
|
|
{
|
|
for (ClassFile c : classes)
|
|
c.buildInstructionGraph();
|
|
}
|
|
}
|