/** * When set final, the bitmask is cleared from being an interface or * abstract. * * @param b true to set final, false otherwise */ public Modifiers toFinal(boolean b) { return convert(toFinal(mBitmask, b)); }
modifiers = modifiers.toFinal(true); } else { break loop;
cf.addField(Modifiers.PRIVATE.toFinal(true), REF_FIELD_NAME, atomicRefType);
/** * When set final, the bitmask is cleared from being an interface or * abstract. * * @param b true to set final, false otherwise */ public Modifiers toFinal(boolean b) { return convert(toFinal(mBitmask, b)); }
modifiers = modifiers.toFinal(true); } else { break loop;
private String addStaticComparatorField(TypeDesc type) { if (mComparatorFields == null) { mComparatorFields = new IdentityHashMap<TypeDesc, String>(); } String fieldName = mComparatorFields.get(type); if (fieldName != null) { return fieldName; } fieldName = COMPARATOR_FIELD_PREFIX + mComparatorFields.size(); TypeDesc comparatorType = TypeDesc.forClass(Comparator.class); mClassFile.addField(Modifiers.PRIVATE.toStatic(true).toFinal(true), fieldName, comparatorType); if (mStaticInitBuilder == null) { mStaticInitBuilder = new CodeBuilder(mClassFile.addInitializer()); } mStaticInitBuilder.loadConstant(type); mStaticInitBuilder.loadConstant(true); mStaticInitBuilder.invokeStatic (TypeDesc.forClass(Comparators.class), "arrayComparator", comparatorType, new TypeDesc[] {TypeDesc.forClass(Class.class), BOOLEAN}); mStaticInitBuilder.storeStaticField(fieldName, comparatorType); mComparatorFields.put(type, fieldName); return fieldName; }
private String addStaticComparatorField(TypeDesc type) { if (mComparatorFields == null) { mComparatorFields = new IdentityHashMap<TypeDesc, String>(); } String fieldName = mComparatorFields.get(type); if (fieldName != null) { return fieldName; } fieldName = COMPARATOR_FIELD_PREFIX + mComparatorFields.size(); TypeDesc comparatorType = TypeDesc.forClass(Comparator.class); mClassFile.addField(Modifiers.PRIVATE.toStatic(true).toFinal(true), fieldName, comparatorType); if (mStaticInitBuilder == null) { mStaticInitBuilder = new CodeBuilder(mClassFile.addInitializer()); } mStaticInitBuilder.loadConstant(type); mStaticInitBuilder.loadConstant(true); mStaticInitBuilder.invokeStatic (TypeDesc.forClass(Comparators.class), "arrayComparator", comparatorType, new TypeDesc[] {TypeDesc.forClass(Class.class), BOOLEAN}); mStaticInitBuilder.storeStaticField(fieldName, comparatorType); mComparatorFields.put(type, fieldName); return fieldName; }
private String addFilterField(PropertyFilter filter, TypeDesc type) { final int propertyOrdinal = mPropertyOrdinalMap.get(filter); final String fieldName = FIELD_PREFIX + propertyOrdinal; if (mGeneratedPropertyFilters.containsKey(filter)) { return fieldName; } final TypeDesc fieldType = actualFieldType(type); mClassFile.addField(Modifiers.PRIVATE.toFinal(true), fieldName, fieldType); // Add code to constructor to store value into field. { CodeBuilder b = mCtorBuilder; b.loadThis(); b.loadLocal(b.getParameter(1)); b.loadConstant(propertyOrdinal); b.loadFromArray(OBJECT); if (type != OBJECT) { b.checkCast(type.toObjectType()); convertProperty(b, type.toObjectType(), fieldType); } b.storeField(fieldName, fieldType); } mGeneratedPropertyFilters.put(filter, filter); return fieldName; }
cf.addField(Modifiers.PRIVATE.toFinal(true), "delegate", delegateDesc);
private String addFilterField(PropertyFilter filter, TypeDesc type) { final int propertyOrdinal = mPropertyOrdinalMap.get(filter); final String fieldName = FIELD_PREFIX + propertyOrdinal; if (mGeneratedPropertyFilters.containsKey(filter)) { return fieldName; } final TypeDesc fieldType = actualFieldType(type); mClassFile.addField(Modifiers.PRIVATE.toFinal(true), fieldName, fieldType); // Add code to constructor to store value into field. { CodeBuilder b = mCtorBuilder; b.loadThis(); b.loadLocal(b.getParameter(1)); b.loadConstant(propertyOrdinal); b.loadFromArray(OBJECT); if (type != OBJECT) { b.checkCast(type.toObjectType()); convertProperty(b, type.toObjectType(), fieldType); } b.storeField(fieldName, fieldType); } mGeneratedPropertyFilters.put(filter, filter); return fieldName; }
cf.addField(Modifiers.PRIVATE.toFinal(true), REF_FIELD_NAME, atomicRefType);
cf.addField(Modifiers.PRIVATE.toFinal(true), REF_FIELD_NAME, atomicRefType);
cf.addField(Modifiers.PRIVATE.toStatic(true).toFinal(true), "serialVersionUID", TypeDesc.LONG).setConstantValue(serialVersionUID);
cf.addField(Modifiers.PRIVATE.toFinal(true), REF_FIELD_NAME, atomicRefType);
String name = "field$" + i; names[i] = name; cf.addField(Modifiers.PRIVATE.toStatic(true).toFinal(true), name, types[i]);
cf.addField(Modifiers.PRIVATE.toFinal(true), CUSTOM_STORABLE_CODEC_FIELD_NAME, customStorableCodecType);
cf.addField(Modifiers.PRIVATE.toFinal(true), CUSTOM_STORABLE_CODEC_FIELD_NAME, customStorableCodecType);
Constructor<? extends W> generate() { TypeDesc delegateType = TypeDesc.forClass(mDelegateInfo.getStorableType()); mClassFile.addField(Modifiers.PRIVATE.toFinal(true), "delegate", delegateType);