Skip to content

Commit 214e5f9

Browse files
committed
Adapt to renamed class in Opal
1 parent caf5a03 commit 214e5f9

File tree

13 files changed

+37
-49
lines changed

13 files changed

+37
-49
lines changed

boomerangScope-Opal/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
</scm>
2222

2323
<properties>
24-
<opal.version>5.0.0</opal.version>
2524
<license.dir>${project.parent.basedir}</license.dir>
2625
</properties>
2726

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/OpalScopeConverter.scala

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ import boomerang.scope.opal.tac.OpalType
2929
import boomerang.scope.opal.tac.OpalVal
3030
import boomerang.scope.opal.tac.OpalWrappedClass
3131
import boomerang.scope.opal.transformation.TacLocal
32+
import org.opalj.br.ClassType
3233
import org.opalj.br.FieldType
3334
import org.opalj.br.Method
3435
import org.opalj.br.MethodDescriptor
35-
import org.opalj.br.ObjectType
3636
import org.opalj.br.analyses.Project
3737
import org.opalj.tac.Expr
3838
import org.opalj.tac.Stmt
@@ -52,7 +52,7 @@ object OpalScopeConverter {
5252
* @param name the field's name
5353
* @return the field object in Boomerang's Opal scope
5454
*/
55-
def createOpalField(declaringClass: ObjectType, fieldType: FieldType, name: String) =
55+
def createOpalField(declaringClass: ClassType, fieldType: FieldType, name: String) =
5656
new OpalField(declaringClass, fieldType, name)
5757

5858
/**
@@ -100,7 +100,7 @@ object OpalScopeConverter {
100100
* @return the method object in Boomerang's Soot scope
101101
*/
102102
def createOpalPhantomMethod(
103-
declaringClassType: ObjectType,
103+
declaringClassType: ClassType,
104104
name: String,
105105
descriptor: MethodDescriptor,
106106
static: Boolean,
@@ -206,24 +206,24 @@ object OpalScopeConverter {
206206
}
207207

208208
/**
209-
* Create an [[OpalWrappedClass]] from an [[ObjectType]]. The returned object represents a
209+
* Create an [[OpalWrappedClass]] from an [[ClassType]]. The returned object represents a
210210
* class in Boomerang's Opal scope.
211211
*
212212
* @param objectType the object type containing relevant class information
213213
* @param project the project containing the class type
214214
* @return the class object in Boomerang's Opal scope
215215
*/
216-
def createOpalWrappedClass(objectType: ObjectType, project: Project[_]) =
216+
def createOpalWrappedClass(objectType: ClassType, project: Project[_]) =
217217
new OpalWrappedClass(objectType, project)
218218

219219
/**
220-
* Extract the delegated [[ObjectType]] from a [[WrappedClass]]. This requires the type to
220+
* Extract the delegated [[ClassType]] from a [[WrappedClass]]. This requires the type to
221221
* be an [[OpalWrappedClass]].
222222
*
223-
* @param wrappedClass the [[OpalWrappedClass]] to extract the [[ObjectType]] from
224-
* @return the delegated [[ObjectType]]
223+
* @param wrappedClass the [[OpalWrappedClass]] to extract the [[ClassType]] from
224+
* @return the delegated [[ClassType]]
225225
*/
226-
def extractOpalClass(wrappedClass: WrappedClass): ObjectType = wrappedClass match {
226+
def extractOpalClass(wrappedClass: WrappedClass): ClassType = wrappedClass match {
227227
case opalClass: OpalWrappedClass => opalClass.delegate
228228
case _ => throw new RuntimeException("WrappedClass is not an OpalWrappedClass")
229229
}

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalDeclaredMethod.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ class OpalDeclaredMethod(
4545
)
4646

4747
override def getDeclaringClass: WrappedClass =
48-
new OpalWrappedClass(delegate.declaringClass.mostPreciseObjectType, method.project)
48+
new OpalWrappedClass(delegate.declaringClass.mostPreciseClassType, method.project)
4949

5050
override def getParameterTypes: util.List[Type] = {
5151
val result = new util.ArrayList[Type]()

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalField.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ package boomerang.scope.opal.tac
1616

1717
import boomerang.scope.Field
1818
import java.util.Objects
19+
import org.opalj.br.ClassType
1920
import org.opalj.br.FieldType
20-
import org.opalj.br.ObjectType
2121

2222
class OpalField(
23-
val declaringClass: ObjectType,
23+
val declaringClass: ClassType,
2424
val fieldType: FieldType,
2525
val name: String
2626
) extends Field {

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalInstanceFieldRef.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ package boomerang.scope.opal.tac
1717
import boomerang.scope._
1818
import boomerang.scope.opal.transformation.TacLocal
1919
import java.util.Objects
20+
import org.opalj.br.ClassType
2021
import org.opalj.br.FieldType
21-
import org.opalj.br.ObjectType
2222
import org.opalj.tac.Expr
2323

2424
class OpalInstanceFieldRef(
2525
val objRef: Expr[TacLocal],
26-
val declaringClass: ObjectType,
26+
val declaringClass: ClassType,
2727
val fieldType: FieldType,
2828
val fieldName: String,
2929
method: OpalMethod,

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalPhantomMethod.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ import boomerang.scope.WrappedClass
2020
import boomerang.scope.opal.OpalFrameworkScope
2121
import java.util
2222
import java.util.Objects
23+
import org.opalj.br.ClassType
2324
import org.opalj.br.MethodDescriptor
2425
import org.opalj.br.MethodSignature
25-
import org.opalj.br.ObjectType
2626
import org.opalj.br.analyses.Project
2727

2828
class OpalPhantomMethod private (
29-
val declaringClassType: ObjectType,
29+
val declaringClassType: ClassType,
3030
val name: String,
3131
val descriptor: MethodDescriptor,
3232
val static: Boolean,
@@ -78,7 +78,7 @@ class OpalPhantomMethod private (
7878
object OpalPhantomMethod {
7979

8080
def of(
81-
declaringClassType: ObjectType,
81+
declaringClassType: ClassType,
8282
name: String,
8383
descriptor: MethodDescriptor,
8484
static: Boolean,

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalStaticFieldRef.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import boomerang.scope.Type
2222
import boomerang.scope.Val
2323
import boomerang.scope.WrappedClass
2424
import java.util.Objects
25+
import org.opalj.br.ClassType
2526
import org.opalj.br.FieldType
26-
import org.opalj.br.ObjectType
2727

2828
class OpalStaticFieldRef(
29-
val declaringClass: ObjectType,
29+
val declaringClass: ClassType,
3030
val fieldType: FieldType,
3131
val name: String,
3232
method: OpalMethod,

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalType.scala

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,11 @@
1515
package boomerang.scope.opal.tac
1616

1717
import boomerang.scope.Type
18-
import boomerang.scope.Val
1918
import boomerang.scope.WrappedClass
2019
import boomerang.scope.opal.transformation.TacLocal
2120
import java.util.Objects
2221
import org.opalj.br.ArrayType
22+
import org.opalj.br.ClassType
2323
import org.opalj.br.ComputationalType
2424
import org.opalj.br.ComputationalTypeDouble
2525
import org.opalj.br.ComputationalTypeFloat
@@ -32,7 +32,6 @@ import org.opalj.br.FieldType
3232
import org.opalj.br.FloatType
3333
import org.opalj.br.IntegerType
3434
import org.opalj.br.LongType
35-
import org.opalj.br.ObjectType
3635
import org.opalj.br.analyses.Project
3736
import org.opalj.tac.ArrayLength
3837
import org.opalj.tac.ArrayLoad
@@ -65,39 +64,39 @@ class OpalType(val delegate: org.opalj.br.Type, project: Project[_]) extends Typ
6564

6665
override def isNullType: Boolean = false
6766

68-
override def isRefType: Boolean = delegate.isObjectType
67+
override def isRefType: Boolean = delegate.isClassType
6968

7069
override def isArrayType: Boolean = delegate.isArrayType
7170

7271
override def getArrayBaseType: Type = new OpalType(delegate.asArrayType.componentType, project)
7372

7473
override def getWrappedClass: WrappedClass = {
7574
if (isRefType) {
76-
return new OpalWrappedClass(delegate.asReferenceType.mostPreciseObjectType, project)
75+
return new OpalWrappedClass(delegate.asReferenceType.mostPreciseClassType, project)
7776
}
7877

7978
throw new RuntimeException("Class of non reference type not available")
8079
}
8180

8281
override def isSubtypeOf(otherType: String): Boolean = {
83-
if (!delegate.isObjectType) {
82+
if (!delegate.isClassType) {
8483
return false
8584
}
8685

8786
project.classHierarchy.isSubtypeOf(
88-
delegate.asObjectType,
89-
ObjectType(otherType.replace(".", "/"))
87+
delegate.asClassType,
88+
ClassType(otherType.replace(".", "/"))
9089
)
9190
}
9291

9392
override def isSupertypeOf(subType: String): Boolean = {
94-
if (!delegate.isObjectType) {
93+
if (!delegate.isClassType) {
9594
return false
9695
}
9796

9897
project.classHierarchy.isSubtypeOf(
99-
ObjectType(subType.replace(".", "/")),
100-
delegate.asObjectType
98+
ClassType(subType.replace(".", "/")),
99+
delegate.asClassType
101100
)
102101
}
103102

@@ -126,7 +125,7 @@ object OpalType {
126125
case _: LongConst => return new OpalType(LongType, project)
127126
case _: FloatConst => return new OpalType(FloatType, project)
128127
case _: DoubleConst => return new OpalType(DoubleType, project)
129-
case _: StringConst => return new OpalType(ObjectType.String, project)
128+
case _: StringConst => return new OpalType(ClassType.String, project)
130129
case classConst: ClassConst => return new OpalType(classConst.value, project)
131130
case dynamicConst: DynamicConst => return new OpalType(dynamicConst.descriptor, project)
132131
case nullExpr: NullExpr => return new OpalType(nullExpr.tpe, project)
@@ -159,8 +158,8 @@ object OpalType {
159158
case ComputationalTypeFloat => FloatType
160159
case ComputationalTypeLong => LongType
161160
case ComputationalTypeDouble => DoubleType
162-
case ComputationalTypeReference => ObjectType.Object
163-
case ComputationalTypeReturnAddress => ObjectType.Object
161+
case ComputationalTypeReference => ClassType.Object
162+
case ComputationalTypeReturnAddress => ClassType.Object
164163
case _ =>
165164
throw new RuntimeException("Unknown computational type " + cTpe)
166165
}

boomerangScope-Opal/src/main/scala/boomerang/scope/opal/tac/OpalWrappedClass.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ import boomerang.scope.Type
1919
import boomerang.scope.WrappedClass
2020
import java.util
2121
import java.util.Objects
22-
import org.opalj.br.ObjectType
22+
import org.opalj.br.ClassType
2323
import org.opalj.br.analyses.Project
2424

25-
class OpalWrappedClass(val delegate: ObjectType, project: Project[_]) extends WrappedClass {
25+
class OpalWrappedClass(val delegate: ClassType, project: Project[_]) extends WrappedClass {
2626

2727
override def getMethods: util.Set[Method] = {
2828
val classFile = project.classFile(delegate)

boomerangScope-Opal/src/test/scala/boomerang/scope/opal/OpalSetup.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class OpalSetup {
3333
OPALLogger.updateLogger(GlobalLogContext, DevNullLogger)
3434
project = Some(Project(new File(TargetClassPath.TARGET_CLASS_PATH)))
3535

36-
targetClass = project.get.classFile(ObjectType(targetClassName.replace(".", "/")))
36+
targetClass = project.get.classFile(ClassType(targetClassName.replace(".", "/")))
3737
}
3838

3939
def resolveMethod(methodSignature: MethodSignature): Method = {

0 commit comments

Comments
 (0)