From 995975db7846d30d120fa7f93e3129e440dc3176 Mon Sep 17 00:00:00 2001 From: sjfink Date: Fri, 15 Feb 2008 21:42:55 +0000 Subject: [PATCH] fix bugs for some missing exceptions git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@2588 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- .../ipa/callgraph/propagation/ClassBasedInstanceKeys.java | 4 ++++ .../callgraph/propagation/SSAPropagationCallGraphBuilder.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ClassBasedInstanceKeys.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ClassBasedInstanceKeys.java index 4b7cb9da4..5d4c78a36 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ClassBasedInstanceKeys.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/ClassBasedInstanceKeys.java @@ -120,6 +120,10 @@ public class ClassBasedInstanceKeys implements InstanceKeyFactory { * @return a set of ConcreteTypeKeys that represent the exceptions the PEI may throw. */ public InstanceKey getInstanceKeyForPEI(CGNode node, ProgramCounter peiLoc, TypeReference type) { + IClass klass = cha.lookupClass(type); + if (klass == null) { + return null; + } return new ConcreteTypeKey(cha.lookupClass(type)); } diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java index 80140c7f4..029fe2d6f 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/callgraph/propagation/SSAPropagationCallGraphBuilder.java @@ -395,6 +395,9 @@ public abstract class SSAPropagationCallGraphBuilder extends PropagationCallGrap TypeReference type = it2.next(); if (type != null) { InstanceKey ik = getInstanceKeyForPEI(node, peiLoc, type, instanceKeyFactory); + if (ik == null) { + continue; + } if (Assertions.verifyAssertions) { if (!(ik instanceof ConcreteTypeKey)) { Assertions._assert(ik instanceof ConcreteTypeKey,