MCPcopy Create free account
hub / github.com/LFYSec/MScan / SootClassBuilder

Class SootClassBuilder

src/main/java/pascal/taie/frontend/soot/SootClassBuilder.java:41–128  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

39import static pascal.taie.language.classes.ClassNames.OBJECT;
40
41class SootClassBuilder implements JClassBuilder {
42
43 private final Converter converter;
44
45 private final SootClass sootClass;
46
47 SootClassBuilder(Converter converter, SootClass sootClass) {
48 this.converter = converter;
49 this.sootClass = sootClass;
50 }
51
52 @Override
53 public void build(JClass jclass) {
54 jclass.build(this);
55 }
56
57 @Override
58 public Set<Modifier> getModifiers() {
59 return Modifiers.convert(sootClass.getModifiers());
60 }
61
62 @Override
63 public String getSimpleName() {
64 return sootClass.getShortName();
65 }
66
67 @Override
68 public ClassType getClassType() {
69 return (ClassType) converter.convertType(sootClass.getType());
70 }
71
72 @Override
73 public JClass getSuperClass() {
74 if (sootClass.getName().equals(OBJECT)) {
75 return null;
76 } else {
77 return converter.convertClass(sootClass.getSuperclass());
78 }
79 }
80
81 @Override
82 public Collection<JClass> getInterfaces() {
83 return Lists.map(sootClass.getInterfaces(), converter::convertClass);
84 }
85
86 @Override
87 public JClass getOuterClass() {
88 return sootClass.hasOuterClass() ?
89 converter.convertClass(sootClass.getOuterClass()) :
90 null;
91 }
92
93 @Override
94 public Collection<JField> getDeclaredFields() {
95 return Lists.map(sootClass.getFields(), converter::convertField);
96 }
97
98 @Override

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected