Snippets

Michael Eichberg [OPAL - 0.8.15] Exploring Domain Values

Created by Michael Eichberg

File DomainValues.scala Added

  • Ignore whitespace
  • Hide word diff
+import java.io.File
+import org.opalj.br._
+import org.opalj.br.analyses._
+import org.opalj.ai._
+val p = Project(new File("OPAL/bi/target/scala-2.11/test-classes/ai.jar"))
+val m = p.classFile(org.opalj.br.ObjectType("ai/MethodsWithExceptions")).get.findMethod("extensiveCatchGame").head
+val d = new org.opalj.ai.domain.l1.DefaultDomain(p,m)
+
+val someE = d.ObjectValue(-1,org.opalj.br.ObjectType("ai/MethodsWithExceptions$SuperException"))
+someE.isValueSubtypeOf(org.opalj.br.ObjectType("java/lang/Throwable"))
+
+val theE = d.NewObject(-1,org.opalj.br.ObjectType("ai/MethodsWithExceptions$SuperException"))
+theE.isValueSubtypeOf(org.opalj.br.ObjectType("java/lang/Throwable"))
+theE.isValueSubtypeOf(org.opalj.br.ObjectType("ai/MethodsWithExceptions$SubException"))
+
+
+val npE = d.ObjectValue(-1,org.opalj.br.ObjectType("java/lang/NullPointerException"))
+npE.isValueSubtypeOf(org.opalj.br.ObjectType("java/lang/NumberFormatException"))
+
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.