From d06e64c4684a1df7298bf4dd01824fb4f46439da Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Tue, 24 Oct 2006 20:47:36 +0000 Subject: [PATCH] Fix for some older jdks git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9480 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- .../java/director_classes_runme.java | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/Examples/test-suite/java/director_classes_runme.java b/Examples/test-suite/java/director_classes_runme.java index 34552b52a..013bdc75b 100644 --- a/Examples/test-suite/java/director_classes_runme.java +++ b/Examples/test-suite/java/director_classes_runme.java @@ -101,6 +101,8 @@ public class director_classes_runme { void makeCalls(Caller myCaller, Base myBase) { + String baseSimpleName = getSimpleName(myBase.getClass()); + myCaller.set(myBase); DoubleHolder dh = new DoubleHolder(444.555); @@ -111,26 +113,38 @@ public class director_classes_runme { if (myCaller.PtrCall(dh).getVal() != dh.getVal()) throw new RuntimeException("failed"); // Fully overloaded method test (all methods in base class are overloaded) - if (!myCaller.FullyOverloadedCall(10).equals(myBase.getClass().getSimpleName() + "::FullyOverloaded(int)")) { - System.out.println(myCaller.FullyOverloadedCall(10) + "----" + (myBase.getClass().getSimpleName() + "::FullyOverloaded(int)")); + if (!myCaller.FullyOverloadedCall(10).equals(baseSimpleName + "::FullyOverloaded(int)")) { + System.out.println(myCaller.FullyOverloadedCall(10) + "----" + (baseSimpleName + "::FullyOverloaded(int)")); throw new RuntimeException("failed"); } - if (!myCaller.FullyOverloadedCall(true).equals(myBase.getClass().getSimpleName() + "::FullyOverloaded(bool)")) throw new RuntimeException("failed"); + if (!myCaller.FullyOverloadedCall(true).equals(baseSimpleName + "::FullyOverloaded(bool)")) throw new RuntimeException("failed"); // Semi overloaded method test (some methods in base class are overloaded) - if (!myCaller.SemiOverloadedCall(-678).equals(myBase.getClass().getSimpleName() + "::SemiOverloaded(int)")) throw new RuntimeException("failed"); + if (!myCaller.SemiOverloadedCall(-678).equals(baseSimpleName + "::SemiOverloaded(int)")) throw new RuntimeException("failed"); if (!myCaller.SemiOverloadedCall(true).equals("Base" + "::SemiOverloaded(bool)")) throw new RuntimeException("failed"); // Default parameters methods test - if (!(myCaller.DefaultParmsCall(10, 2.2)).equals(myBase.getClass().getSimpleName() + "::DefaultParms(int, double)")) throw new RuntimeException("failed"); + if (!(myCaller.DefaultParmsCall(10, 2.2)).equals(baseSimpleName + "::DefaultParms(int, double)")) throw new RuntimeException("failed"); if (myBase instanceof JavaDerived) { // special handling for Java derived classes, there is no way to do this any other way - if (!myCaller.DefaultParmsCall(10).equals(myBase.getClass().getSimpleName() + "::DefaultParms(int, double)")) throw new RuntimeException("failed"); + if (!myCaller.DefaultParmsCall(10).equals(baseSimpleName + "::DefaultParms(int, double)")) throw new RuntimeException("failed"); } else { - if (!myCaller.DefaultParmsCall(10).equals(myBase.getClass().getSimpleName() + "::DefaultParms(int)")) throw new RuntimeException("failed"); + if (!myCaller.DefaultParmsCall(10).equals(baseSimpleName + "::DefaultParms(int)")) throw new RuntimeException("failed"); } myCaller.reset(); } + + // Same as Class.getSimpleName() which is not present in all jdks + static String getSimpleName(Class klass) { + String fullName = klass.getName(); + Package packag = klass.getPackage(); + String simpleName = null; + if (packag != null) + simpleName = fullName.replaceAll(packag.getName() + ".", ""); + else + simpleName = fullName; + return simpleName; + } }