1515package boomerang .scope .opal .tac
1616
1717import boomerang .scope .Type
18- import boomerang .scope .Val
1918import boomerang .scope .WrappedClass
2019import boomerang .scope .opal .transformation .TacLocal
2120import java .util .Objects
2221import org .opalj .br .ArrayType
22+ import org .opalj .br .ClassType
2323import org .opalj .br .ComputationalType
2424import org .opalj .br .ComputationalTypeDouble
2525import org .opalj .br .ComputationalTypeFloat
@@ -32,7 +32,6 @@ import org.opalj.br.FieldType
3232import org .opalj .br .FloatType
3333import org .opalj .br .IntegerType
3434import org .opalj .br .LongType
35- import org .opalj .br .ObjectType
3635import org .opalj .br .analyses .Project
3736import org .opalj .tac .ArrayLength
3837import 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 }
0 commit comments