/** * Returns whether the given field can be made private. */ public static boolean canBeMadePrivate(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info != null && info.canBeMadePrivate(); }
public static ReferenceValue getFieldClassValue(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info != null ? info.getReferencedClass() : null; }
public static Value getFieldValue(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info != null ? info.getValue() : null; }
private static void markCanNotBeMadePrivate(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.setCanNotBeMadePrivate(); } }
private static void markAsRead(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.setRead(); } }
public static boolean isWritten(Field field) { return FieldOptimizationInfo.getFieldOptimizationInfo(field).isWritten(); } }
public static boolean isRead(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info == null || info.isRead(); }
public static boolean isKept(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info != null && info.isKept(); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { FieldOptimizationInfo.setFieldOptimizationInfo(programClass, programField); }
public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) { // Does the field have optimization info? if (FieldOptimizationInfo.getFieldOptimizationInfo(libraryField) != null) { memberVisitor.visitLibraryField(libraryClass, libraryField); } }
public static void setFieldOptimizationInfo(Clazz clazz, Field field) { field.setVisitorInfo(new FieldOptimizationInfo()); }
private static void generalizeFieldValue(Field field, Value value) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.generalizeValue(value); } }
private static void markAsWritten(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.setWritten(); } }
private static void generalizeFieldClassValue(Field field, ReferenceValue value) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); if (info != null) { info.generalizeReferencedClass(value); } }
public static boolean isRead(Field field) { return FieldOptimizationInfo.getFieldOptimizationInfo(field).isRead(); }
public static boolean isWritten(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info == null || info.isWritten(); } }
public static boolean isKept(Field field) { FieldOptimizationInfo info = FieldOptimizationInfo.getFieldOptimizationInfo(field); return info != null && info.isKept(); }
public void visitLibraryField(LibraryClass libraryClass, LibraryField libraryField) { FieldOptimizationInfo.setFieldOptimizationInfo(libraryClass, libraryField); }
public void visitProgramField(ProgramClass programClass, ProgramField programField) { MemberVisitor visitor = FieldOptimizationInfo.getFieldOptimizationInfo(programField) instanceof ProgramFieldOptimizationInfo ? memberVisitor : otherMemberVisitor; if (visitor != null) { visitor.visitProgramField(programClass, programField); } }
public static void setFieldOptimizationInfo(Clazz clazz, Field field) { field.setVisitorInfo(new FieldOptimizationInfo()); }