system/src/sc/lang/java/BodyTypeDeclaration.java
public boolean hasDynStubForMethod(Object meth) {
      if (isDynamicStub(true)) {
         List<Object> compMethods = getDynCompiledMethods();
         if (compMethods != null) {
            for (Object compMeth:compMethods)
               if (ModelUtil.sameMethods(compMeth, meth))
                  return true;
         }
         Object extType = getExtendsTypeDeclaration();
         if (extType != null && extType instanceof BodyTypeDeclaration) {
            if (((BodyTypeDeclaration) extType).hasDynStubForMethod(meth))
               return true;
         }
         Object derivedType = getDerivedTypeDeclaration();
         if (derivedType != null && derivedType != extType && derivedType instanceof BodyTypeDeclaration)
            if (((BodyTypeDeclaration) derivedType).hasDynStubForMethod(meth))
               return true;
      }
      return false;
   }
/** In the rare case we have one dyn stub extending another, only one _super_x can exist in that inheritance chain,
    * otherwise, it starts calling the wrong method.
    * TODO: this could/should actually exclude the whole dyn stub, not just the _super_x for this method but hopefully the duplication won't make a difference
    */
In the rare case we have one dyn stub extending another, only one _super_x can exist in that inheritance chain,
otherwise, it starts calling the wrong method.
TODO: this could/should actually exclude the whole dyn stub, not just the _super_x for this method but hopefully the duplication won't make a difference
In the rare case we have one dyn stub extending another only one _super_x can exist in that inheritance chain otherwise it starts calling the wrong method . TODO : this could / should actually exclude the whole dyn stub not just the _super_x for this method but hopefully the duplication won ' t make a difference
public boolean hasDynStubForMethod(Object meth) {
      if (isDynamicStub(true)) {
         List<Object> compMethods = getDynCompiledMethods();
         if (compMethods != null) {
            for (Object compMeth:compMethods)
               if (ModelUtil.sameMethods(compMeth, meth))
                  return true;
         }
         Object extType = getExtendsTypeDeclaration();
         if (extType != null && extType instanceof BodyTypeDeclaration) {
            if (((BodyTypeDeclaration) extType).hasDynStubForMethod(meth))
               return true;
         }
         Object derivedType = getDerivedTypeDeclaration();
         if (derivedType != null && derivedType != extType && derivedType instanceof BodyTypeDeclaration)
            if (((BodyTypeDeclaration) derivedType).hasDynStubForMethod(meth))
               return true;
      }
      return false;
   }
public boolean hasDynStubForMethod ( Object meth ) { if ( isDynamicStub ( true ) ) { List < Object > compMethods = getDynCompiledMethods ( ) ; if ( compMethods != null ) { for ( Object compMeth : compMethods ) if ( ModelUtil . sameMethods ( compMeth , meth ) ) return true ; } Object extType = getExtendsTypeDeclaration ( ) ; if ( extType != null && extType instanceof BodyTypeDeclaration ) { if ( ( ( BodyTypeDeclaration ) extType ) . hasDynStubForMethod ( meth ) ) return true ; } Object derivedType = getDerivedTypeDeclaration ( ) ; if ( derivedType != null && derivedType != extType && derivedType instanceof BodyTypeDeclaration ) if ( ( ( BodyTypeDeclaration ) derivedType ) . hasDynStubForMethod ( meth ) ) return true ; } return false ; }
In the rare case we have one dyn stub extending another, only one _super_x can exist in that inheritance chain,
 otherwise, it starts calling the wrong method.
In the rare case we have one dyn stub extending another only one _super_x can exist in that inheritance chain otherwise it starts calling the wrong method .