From b6b5f56ac2f4012398b122e2d144ba43836759ab Mon Sep 17 00:00:00 2001 From: sjfink Date: Tue, 31 Mar 2009 19:16:05 +0000 Subject: [PATCH] add method getOverriden() git-svn-id: https://wala.svn.sourceforge.net/svnroot/wala/trunk@3395 f5eafffb-2e1d-0410-98e4-8ec43c5233c4 --- .../ibm/wala/ipa/cha/ClassHierarchyUtil.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/ClassHierarchyUtil.java b/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/ClassHierarchyUtil.java index ab265cee4..41f0994cc 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/ClassHierarchyUtil.java +++ b/com.ibm.wala.core/src/com/ibm/wala/ipa/cha/ClassHierarchyUtil.java @@ -41,4 +41,26 @@ public class ClassHierarchyUtil { } } + /** + * Return the method that m overrides, or null if none + */ + public static IMethod getOverriden(IMethod m) { + try { + IClass c = m.getDeclaringClass(); + IClass parent = c.getSuperclass(); + if (parent == null) { + return null; + } else { + MethodReference ref = MethodReference.findOrCreate(parent.getReference(), m.getSelector()); + IMethod m2 = m.getClassHierarchy().resolveMethod(ref); + if (m2 != null && !m2.equals(m)) { + return m2; + } + return null; + } + } catch (ClassHierarchyException e) { + return null; + } + } + }