/** * Links the two given class members. */ private static void link(Member member1, Member member2) { // Get the last methods in the both chains. Member lastMember1 = lastMember(member1); Member lastMember2 = lastMember(member2); // Check if both link chains aren't already ending in the same element. if (!lastMember1.equals(lastMember2)) { // Merge the two chains, with the library members last. if (lastMember2 instanceof LibraryMember) { lastMember1.setVisitorInfo(lastMember2); } else { lastMember2.setVisitorInfo(lastMember1); } } }
/** * Links the two given class members. */ private static void link(Member member1, Member member2) { // Get the last methods in the both chains. Member lastMember1 = lastMember(member1); Member lastMember2 = lastMember(member2); // Check if both link chains aren't already ending in the same element. if (!lastMember1.equals(lastMember2)) { // Merge the two chains, with the library members last. if (lastMember2 instanceof LibraryMember) { lastMember1.setVisitorInfo(lastMember2); } else { lastMember2.setVisitorInfo(lastMember1); } } }
/** * Links the two given class members. */ private static void link(Member member1, Member member2) { // Get the last methods in the both chains. Member lastMember1 = lastMember(member1); Member lastMember2 = lastMember(member2); // Check if both link chains aren't already ending in the same element. if (!lastMember1.equals(lastMember2)) { // Merge the two chains, with the library members last. if (lastMember2 instanceof LibraryMember) { lastMember1.setVisitorInfo(lastMember2); } else { lastMember2.setVisitorInfo(lastMember1); } } }
/** * Links the two given class members. */ private static void link(Member member1, Member member2) { // Get the last methods in the both chains. Member lastMember1 = lastMember(member1); Member lastMember2 = lastMember(member2); // Check if both link chains aren't already ending in the same element. if (!lastMember1.equals(lastMember2)) { // Merge the two chains, with the library members last. if (lastMember2 instanceof LibraryMember) { lastMember1.setVisitorInfo(lastMember2); } else { lastMember2.setVisitorInfo(lastMember1); } } }
public static void setMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new MethodOptimizationInfo()); }
public static void setFieldOptimizationInfo(Clazz clazz, Field field) { MethodLinker.lastMember(field).setVisitorInfo(new FieldOptimizationInfo(clazz, field)); }
public static void setMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new MethodOptimizationInfo()); }
public static void setProgramMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new ProgramMethodOptimizationInfo(clazz, method)); }
public static void setProgramMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new ProgramMethodOptimizationInfo(clazz, method)); }
public static void setMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new MethodOptimizationInfo()); }
public static void setMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new MethodOptimizationInfo(clazz, method)); }
public static void setProgramMethodOptimizationInfo(Clazz clazz, Method method) { MethodLinker.lastMember(method).setVisitorInfo(new ProgramMethodOptimizationInfo(clazz, method)); }
private static void markNoSideEffects(Method method) { MethodOptimizationInfo info = MethodOptimizationInfo.getMethodOptimizationInfo(method); if (info != null) { info.setNoSideEffects(); } else { MethodLinker.lastMember(method).setVisitorInfo(KEPT_BUT_NO_SIDE_EFFECTS); } }