Home | History | Annotate | Download | only in peephole

Lines Matching full:targetclass

60     private final ProgramClass targetClass;
71 * @param targetClass the class into which all visited
79 public ClassMerger(ProgramClass targetClass,
83 this(targetClass, allowAccessModification, mergeInterfacesAggressively, null);
90 * @param targetClass the class into which all visited
100 public ClassMerger(ProgramClass targetClass,
105 this.targetClass = targetClass;
118 // targetClass.getName().equals(CLASS_NAME);
130 System.err.println(" Target class = ["+targetClass.getName()+"]");
136 targetClass.accept(new ClassPrinter());
145 if (!programClass.equals(targetClass) &&
149 !KeepMarker.isKept(targetClass) &&
153 getTargetClass(targetClass) == null &&
167 targetClass.getAccessFlags() &
172 ClassUtil.internalPackageName(targetClass.getName()))) &&
181 (targetClass.getAccessFlags() &
184 (isOnlySubClass(programClass, targetClass) &&
186 (programClass.getSuperClass().equals(targetClass) ||
187 programClass.getSuperClass().equals(targetClass.getSuperClass())))) &&
192 !indirectlyImplementedInterfaces(programClass).contains(targetClass) &&
193 !targetClass.extendsOrImplements(programClass) &&
201 (targetClass.getAccessFlags() & ClassConstants.ACC_INTERFACE) == 0 ||
202 subInterfaces(programClass, targetClass).equals(subInterfaces(targetClass, programClass))) &&
208 initializedSuperClasses(programClass).equals(initializedSuperClasses(targetClass)) &&
214 instanceofedSuperClasses(programClass).equals(instanceofedSuperClasses(targetClass)) &&
220 caughtSuperClasses(programClass).equals(caughtSuperClasses(targetClass)) &&
226 DotClassMarker.isDotClassed(targetClass)) &&
231 !haveAnyIdenticalFields(programClass, targetClass) &&
236 !introducesUnwantedFields(programClass, targetClass) &&
237 !introducesUnwantedFields(targetClass, programClass) &&
242 !shadowsAnyFields(programClass, targetClass) &&
243 !shadowsAnyFields(targetClass, programClass) &&
248 !haveAnyIdenticalMethods(programClass, targetClass) &&
255 (!introducesUnwantedAbstractMethods(programClass, targetClass) &&
256 !introducesUnwantedAbstractMethods(targetClass, programClass))) &&
261 !overridesAnyMethods(programClass, targetClass) &&
262 !overridesAnyMethods(targetClass, programClass) &&
267 !shadowsAnyMethods(programClass, targetClass) &&
268 !shadowsAnyMethods(targetClass, programClass))
276 System.out.println("ClassMerger ["+programClass.getName()+"] -> ["+targetClass.getName()+"]");
278 System.out.println(" Target interface? ["+((targetClass.getAccessFlags() & ClassConstants.ACC_INTERFACE)!=0)+"]");
280 System.out.println(" Target subclasses ["+targetClass.subClasses+"]");
282 System.out.println(" Target superclass ["+targetClass.getSuperClass().getName()+"]");
286 //targetClass.accept(new ClassPrinter());
290 int targetAccessFlags = targetClass.getAccessFlags();
293 targetClass.u2accessFlags =
310 // (targetClass.getAccessFlags() & ClassConstants.ACC_INTERFACE) != 0)
312 // targetClass.u2superClass =
313 // new ConstantAdder(targetClass).addConstant(programClass, programClass.u2superClass);
322 new ExceptClassConstantFilter(targetClass.getName(),
323 new ImplementedClassConstantFilter(targetClass,
324 new ImplementingClassConstantFilter(targetClass,
325 new InterfaceAdder(targetClass)))));
329 new MemberAdder(targetClass, fieldOptimizationInfoCopier);
341 new AttributeAdder(targetClass, true)));
345 ClassOptimizationInfo.getClassOptimizationInfo(targetClass);
352 setTargetClass(programClass, targetClass);
357 // targetClass.accept(new ClassPrinter());
371 System.out.println("Merge ["+targetClass.getName()+"] <- ["+programClass.getName()+"] "+message);
493 private boolean haveAnyIdenticalFields(Clazz clazz, Clazz targetClass)
499 clazz.fieldsAccept(new SimilarMemberVisitor(targetClass, true, false, false, false,
511 ProgramClass targetClass)
515 if (!InstantiationClassMarker.isInstantiated(targetClass) &&
516 (targetClass.subClasses == null ||
517 isOnlySubClass(programClass, targetClass)))
536 private boolean shadowsAnyFields(Clazz clazz, Clazz targetClass)
544 new SimilarMemberVisitor(targetClass, true, true, true, false,
556 private boolean haveAnyIdenticalMethods(Clazz clazz, Clazz targetClass)
563 new SimilarMemberVisitor(targetClass, true, false, false, false,
576 ProgramClass targetClass)
580 if ((targetClass.getAccessFlags() &
583 (targetClass.subClasses == null ||
584 isOnlySubClass(clazz, targetClass)))
598 new SimilarMemberVisitor(targetClass, true, true, true, false,
611 private boolean overridesAnyMethods(Clazz clazz, Clazz targetClass)
620 new SimilarMemberVisitor(targetClass, true, true, false, false,
632 private boolean shadowsAnyMethods(Clazz clazz, Clazz targetClass)
642 new SimilarMemberVisitor(targetClass, true, true, true, false,
652 new SimilarMemberVisitor(targetClass, true, true, true, false,
660 public static void setTargetClass(Clazz clazz, Clazz targetClass)
665 info.setTargetClass(targetClass);
672 Clazz targetClass = null;
680 return targetClass;
686 return targetClass;
689 targetClass = clazz;