예제 #1
0
 public Term transform(JavaTypeModel typeModel, JPEFacts facts, Configuration configuration)
     throws TermWareException, EntityNotFoundException {
   if (configuration.isUnreachableCodeEliminationEnabled()) {
     // check only if current class is reachable.
     Term reachable = typeModel.getAttribute(MarkReachable.REACHABLE_CLASS_ATTRIBUTE);
     if (!reachable.isNil()) {
       if (typeModel instanceof JavaTermTypeAbstractModel) {
         MarkNumberOfChildsInSuper.process((JavaTermTypeAbstractModel) typeModel);
       }
     } else {
       if (configuration.getDebugLevel() >= DebugLevels.SHOW_WALK) {
         System.out.println(
             "devirtualization skip " + typeModel.getFullName() + " as unreachable");
       }
     }
   } else {
     MarkNumberOfChildsInSuper.process((JavaTermTypeAbstractModel) typeModel);
   }
   return null;
 }