diff --git a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidEntryPointManager.java b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidEntryPointManager.java index 2fb2fe4cc..1ff25a1e8 100644 --- a/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidEntryPointManager.java +++ b/com.ibm.wala.dalvik/src/com/ibm/wala/dalvik/util/AndroidEntryPointManager.java @@ -252,7 +252,7 @@ public final /* singleton */ class AndroidEntryPointManager implements Serializa return prev; } - private Class abstractAndroidModel = LoopAndroidModel.class; + private Class abstractAndroidModel = LoopAndroidModel.class; /** * What special handling to insert into the model. * @@ -271,13 +271,13 @@ public final /* singleton */ class AndroidEntryPointManager implements Serializa return new LoopAndroidModel(body, insts, paramManager, entryPoints); } else { try { - final Constructor ctor = this.abstractAndroidModel.getDeclaredConstructor( + final Constructor ctor = this.abstractAndroidModel.getDeclaredConstructor( VolatileMethodSummary.class, TypeSafeInstructionFactory.class, SSAValueManager.class, Iterable.class); if (ctor == null) { throw new IllegalStateException("Canot find the constructor of " + this.abstractAndroidModel); } - return (AbstractAndroidModel) ctor.newInstance(body, insts, paramManager, entryPoints); + return ctor.newInstance(body, insts, paramManager, entryPoints); } catch (java.lang.InstantiationException e) { throw new IllegalStateException(e); } catch (java.lang.IllegalAccessException e) { @@ -300,24 +300,20 @@ public final /* singleton */ class AndroidEntryPointManager implements Serializa * * @return null or the class set using setModelBehavior */ - public Class getModelBehavior() { + public Class getModelBehavior() { return this.abstractAndroidModel; } /** * Set the class instantiated by makeModelBehavior. * - * @throws IllgealArgumentException if the abstractAndroidModel does not subclass AbstractAndroidModel + * @throws IllegalArgumentException if the abstractAndroidModel is null */ - public void setModelBehavior(Class abstractAndroidModel) { + public void setModelBehavior(Class abstractAndroidModel) { if (abstractAndroidModel == null) { throw new IllegalArgumentException("abstractAndroidModel may not be null. Use SequentialAndroidModel " + "if no special handling shall be inserted."); } - if (! AbstractAndroidModel.class.isAssignableFrom(abstractAndroidModel)) { - throw new IllegalArgumentException("The given argument abstractAndroidModel does not subclass " + - "AbtractAndroidModel"); - } this.abstractAndroidModel = abstractAndroidModel; }