public void storeField(TypeDesc classDesc, String fieldName, TypeDesc type) { storeField(getClassName(classDesc), fieldName, type); }
b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField(REF_FIELD_NAME, atomicRefType); b.returnVoid();
public void storeField(TypeDesc classDesc, String fieldName, TypeDesc type) { storeField(getClassName(classDesc), fieldName, type); }
builder.loadThis(); builder.loadLocal(builder.getParameter(0)); builder.storeField("mCollators", comparatorArrayType); builder.loadThis(); builder.loadLocal(builder.getParameter(1)); builder.storeField("mUsingComparators", comparatorArrayType); builder.returnVoid();
void restore(CodeBuilder b) { b.loadThis(); b.loadLocal(copyVar); b.storeField(property.getName(), copyVar.getType()); } }
void restore(CodeBuilder b) { b.loadThis(); b.loadLocal(copyVar); b.storeField(property.getName(), copyVar.getType()); } }
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; }
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; }
b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField(REF_FIELD_NAME, atomicRefType); b.returnVoid();
private static void addPlainConstructor(RuntimeClassFile cf, TypeDesc delegateDesc) { CodeBuilder b = new CodeBuilder (cf.addConstructor(Modifiers.PUBLIC, new TypeDesc[] {delegateDesc})); b.loadThis(); b.invokeSuperConstructor(null); b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField("delegate", delegateDesc); b.returnVoid(); }
/** * Sets the version property to its initial uninitialized state. */ private void unsetVersionProperty(CodeBuilder b) throws SupportException { StorableProperty<?> property = mInfo.getVersionProperty(); // Set the property state to uninitialized. { String stateFieldName = StorableGenerator.PROPERTY_STATE_FIELD_NAME + (property.getNumber() >> 4); b.loadThis(); b.loadThis(); b.loadField(stateFieldName, TypeDesc.INT); int shift = (property.getNumber() & 0xf) * 2; b.loadConstant(~(StorableGenerator.PROPERTY_STATE_MASK << shift)); b.math(Opcode.IAND); b.storeField(stateFieldName, TypeDesc.INT); } // Zero the property value. TypeDesc type = TypeDesc.forClass(property.getType()); b.loadThis(); CodeBuilderUtil.blankValue(b, type); b.storeField(property.getName(), type); }
b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField(REF_FIELD_NAME, atomicRefType); b.returnVoid();
/** * Sets the version property to its initial uninitialized state. */ private void unsetVersionProperty(CodeBuilder b) throws SupportException { StorableProperty<?> property = mInfo.getVersionProperty(); // Set the property state to uninitialized. { String stateFieldName = StorableGenerator.PROPERTY_STATE_FIELD_NAME + (property.getNumber() >> 4); b.loadThis(); b.loadThis(); b.loadField(stateFieldName, TypeDesc.INT); int shift = (property.getNumber() & 0xf) * 2; b.loadConstant(~(StorableGenerator.PROPERTY_STATE_MASK << shift)); b.math(Opcode.IAND); b.storeField(stateFieldName, TypeDesc.INT); } // Zero the property value. TypeDesc type = TypeDesc.forClass(property.getType()); b.loadThis(); CodeBuilderUtil.blankValue(b, type); b.storeField(property.getName(), type); }
b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField(REF_FIELD_NAME, atomicRefType); b.returnVoid();
b.math(Opcode.IOR); b.storeField(stateFieldName, TypeDesc.INT);
b.math(Opcode.IOR); b.storeField(stateFieldName, TypeDesc.INT);
b.math(Opcode.IOR); b.storeField(stateFieldName, TypeDesc.INT); b.storeField(stateFieldName, TypeDesc.INT);
b.storeField(property.getName(), propertyType);
b.storeField(property.getName(), propertyType);
b.loadThis(); b.loadLocal(b.getParameter(0)); b.storeField(enclosingFieldName, enclosingType); b.returnVoid();