private void addGetData(BCClass bc) { // return getObjectField(i); BCMethod method = bc.declareMethod("getData", Object.class, new Class[]{ int.class }); Code code = method.getCode(true); code.aload().setThis(); code.iload().setParam(0); code.invokevirtual().setMethod("getObject", Object.class, new Class[]{ int.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addGetData(BCClass bc) { // return getObjectField(i); BCMethod method = bc.declareMethod("getData", Object.class, new Class[]{ int.class }); Code code = method.getCode(true); code.aload().setThis(); code.iload().setParam(0); code.invokevirtual().setMethod("getObject", Object.class, new Class[]{ int.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addGetData(BCClass bc) { // return getObjectField(i); BCMethod method = bc.declareMethod("getData", Object.class, new Class[]{ int.class }); Code code = method.getCode(true); code.aload().setThis(); code.iload().setParam(0); code.invokevirtual().setMethod("getObject", Object.class, new Class[]{ int.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addGetData(BCClass bc) { // return getObjectField(i); BCMethod method = bc.declareMethod("getData", Object.class, new Class[]{ int.class }); Code code = method.getCode(true); code.aload().setThis(); code.iload().setParam(0); code.invokevirtual().setMethod("getObject", Object.class, new Class[]{ int.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addGetData(BCClass bc) { // return getObjectField(i); BCMethod method = bc.declareMethod("getData", Object.class, new Class[]{ int.class }); Code code = method.getCode(true); code.aload().setThis(); code.iload().setParam(0); code.invokevirtual().setMethod("getObject", Object.class, new Class[]{ int.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void enhanceToData(BCClass bc) { BCMethod meth = bc.declareMethod("toData", Object.class, new Class []{ FieldMetaData.class, Object.class, StoreContext.class }); Code code = meth.getCode(true); // if (fmd.isLRS ())) // return NULL; code.aload().setParam(0); code.invokevirtual().setMethod(FieldMetaData.class, "isLRS", boolean.class, null); JumpInstruction ifins = code.ifeq(); code.getstatic().setField(AbstractPCData.class, "NULL", Object.class); code.areturn(); // super.toData (fmd, val, ctx); ifins.setTarget(code.aload().setThis()); code.aload().setParam(0); code.aload().setParam(1); code.aload().setParam(2); code.invokespecial().setMethod(AbstractPCData.class, "toData", Object.class, new Class[]{ FieldMetaData.class, Object.class, StoreContext.class }); code.areturn(); code.calculateMaxStack(); code.calculateMaxLocals(); }
private void enhanceToData(BCClass bc) { BCMethod meth = bc.declareMethod("toData", Object.class, new Class []{ FieldMetaData.class, Object.class, StoreContext.class }); Code code = meth.getCode(true); // if (fmd.isLRS ())) // return NULL; code.aload().setParam(0); code.invokevirtual().setMethod(FieldMetaData.class, "isLRS", boolean.class, null); JumpInstruction ifins = code.ifeq(); code.getstatic().setField(AbstractPCData.class, "NULL", Object.class); code.areturn(); // super.toData (fmd, val, ctx); ifins.setTarget(code.aload().setThis()); code.aload().setParam(0); code.aload().setParam(1); code.aload().setParam(2); code.invokespecial().setMethod(AbstractPCData.class, "toData", Object.class, new Class[]{ FieldMetaData.class, Object.class, StoreContext.class }); code.areturn(); code.calculateMaxStack(); code.calculateMaxLocals(); }
private void enhanceToData(BCClass bc) { BCMethod meth = bc.declareMethod("toData", Object.class, new Class []{ FieldMetaData.class, Object.class, StoreContext.class }); Code code = meth.getCode(true); // if (fmd.isLRS ())) // return NULL; code.aload().setParam(0); code.invokevirtual().setMethod(FieldMetaData.class, "isLRS", boolean.class, null); JumpInstruction ifins = code.ifeq(); code.getstatic().setField(AbstractPCData.class, "NULL", Object.class); code.areturn(); // super.toData (fmd, val, ctx); ifins.setTarget(code.aload().setThis()); code.aload().setParam(0); code.aload().setParam(1); code.aload().setParam(2); code.invokespecial().setMethod(AbstractPCData.class, "toData", Object.class, new Class[]{ FieldMetaData.class, Object.class, StoreContext.class }); code.areturn(); code.calculateMaxStack(); code.calculateMaxLocals(); }
private void addNewEmbedded(BCClass bc) { // void newEmbeddedPCData(OpenJPAStateManager embedded) BCMethod meth = bc.declareMethod("newEmbeddedPCData", PCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return getStorageGenerator().generatePCData // (sm.getId(), sm.getMetaData()); code.aload().setThis(); code.getfield().setField("storageGenerator", PCDataGenerator.class); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokevirtual().setMethod(PCDataGenerator.class, "generatePCData", PCData.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void enhanceToData(BCClass bc) { BCMethod meth = bc.declareMethod("toData", Object.class, new Class []{ FieldMetaData.class, Object.class, StoreContext.class }); Code code = meth.getCode(true); // if (fmd.isLRS ())) // return NULL; code.aload().setParam(0); code.invokevirtual().setMethod(FieldMetaData.class, "isLRS", boolean.class, null); JumpInstruction ifins = code.ifeq(); code.getstatic().setField(AbstractPCData.class, "NULL", Object.class); code.areturn(); // super.toData (fmd, val, ctx); ifins.setTarget(code.aload().setThis()); code.aload().setParam(0); code.aload().setParam(1); code.aload().setParam(2); code.invokespecial().setMethod(AbstractPCData.class, "toData", Object.class, new Class[]{ FieldMetaData.class, Object.class, StoreContext.class }); code.areturn(); code.calculateMaxStack(); code.calculateMaxLocals(); }
private void enhanceToData(BCClass bc) { BCMethod meth = bc.declareMethod("toData", Object.class, new Class []{ FieldMetaData.class, Object.class, StoreContext.class }); Code code = meth.getCode(true); // if (fmd.isLRS ())) // return NULL; code.aload().setParam(0); code.invokevirtual().setMethod(FieldMetaData.class, "isLRS", boolean.class, null); JumpInstruction ifins = code.ifeq(); code.getstatic().setField(AbstractPCData.class, "NULL", Object.class); code.areturn(); // super.toData (fmd, val, ctx); ifins.setTarget(code.aload().setThis()); code.aload().setParam(0); code.aload().setParam(1); code.aload().setParam(2); code.invokespecial().setMethod(AbstractPCData.class, "toData", Object.class, new Class[]{ FieldMetaData.class, Object.class, StoreContext.class }); code.areturn(); code.calculateMaxStack(); code.calculateMaxLocals(); }
private void replaceNewEmbeddedPCData(BCClass bc) { BCMethod meth = bc.declareMethod("newEmbeddedPCData", AbstractPCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return new DataCachePCDataImpl(sm.getObjectId(), sm.getMetaData()); code.anew().setType(DataCachePCDataImpl.class); code.dup(); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokespecial().setMethod(DataCachePCDataImpl.class, "<init>", void.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addNewEmbedded(BCClass bc) { // void newEmbeddedPCData(OpenJPAStateManager embedded) BCMethod meth = bc.declareMethod("newEmbeddedPCData", PCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return getStorageGenerator().generatePCData // (sm.getId(), sm.getMetaData()); code.aload().setThis(); code.getfield().setField("storageGenerator", PCDataGenerator.class); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokevirtual().setMethod(PCDataGenerator.class, "generatePCData", PCData.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addNewEmbedded(BCClass bc) { // void newEmbeddedPCData(OpenJPAStateManager embedded) BCMethod meth = bc.declareMethod("newEmbeddedPCData", PCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return getStorageGenerator().generatePCData // (sm.getId(), sm.getMetaData()); code.aload().setThis(); code.getfield().setField("storageGenerator", PCDataGenerator.class); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokevirtual().setMethod(PCDataGenerator.class, "generatePCData", PCData.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addNewEmbedded(BCClass bc) { // void newEmbeddedPCData(OpenJPAStateManager embedded) BCMethod meth = bc.declareMethod("newEmbeddedPCData", PCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return getStorageGenerator().generatePCData // (sm.getId(), sm.getMetaData()); code.aload().setThis(); code.getfield().setField("storageGenerator", PCDataGenerator.class); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokevirtual().setMethod(PCDataGenerator.class, "generatePCData", PCData.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void addNewEmbedded(BCClass bc) { // void newEmbeddedPCData(OpenJPAStateManager embedded) BCMethod meth = bc.declareMethod("newEmbeddedPCData", PCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return getStorageGenerator().generatePCData // (sm.getId(), sm.getMetaData()); code.aload().setThis(); code.getfield().setField("storageGenerator", PCDataGenerator.class); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokevirtual().setMethod(PCDataGenerator.class, "generatePCData", PCData.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void replaceNewEmbeddedPCData(BCClass bc) { BCMethod meth = bc.declareMethod("newEmbeddedPCData", AbstractPCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return new DataCachePCDataImpl(sm.getObjectId(), sm.getMetaData()); code.anew().setType(DataCachePCDataImpl.class); code.dup(); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokespecial().setMethod(DataCachePCDataImpl.class, "<init>", void.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void replaceNewEmbeddedPCData(BCClass bc) { BCMethod meth = bc.declareMethod("newEmbeddedPCData", AbstractPCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return new DataCachePCDataImpl(sm.getObjectId(), sm.getMetaData()); code.anew().setType(DataCachePCDataImpl.class); code.dup(); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokespecial().setMethod(DataCachePCDataImpl.class, "<init>", void.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void replaceNewEmbeddedPCData(BCClass bc) { BCMethod meth = bc.declareMethod("newEmbeddedPCData", AbstractPCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return new DataCachePCDataImpl(sm.getObjectId(), sm.getMetaData()); code.anew().setType(DataCachePCDataImpl.class); code.dup(); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokespecial().setMethod(DataCachePCDataImpl.class, "<init>", void.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }
private void replaceNewEmbeddedPCData(BCClass bc) { BCMethod meth = bc.declareMethod("newEmbeddedPCData", AbstractPCData.class, new Class[]{ OpenJPAStateManager.class }); Code code = meth.getCode(true); // return new DataCachePCDataImpl(sm.getObjectId(), sm.getMetaData()); code.anew().setType(DataCachePCDataImpl.class); code.dup(); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getId", Object.class, null); code.aload().setParam(0); code.invokeinterface().setMethod(OpenJPAStateManager.class, "getMetaData", ClassMetaData.class, null); code.invokespecial().setMethod(DataCachePCDataImpl.class, "<init>", void.class, new Class[] { Object.class, ClassMetaData.class }); code.areturn(); code.calculateMaxLocals(); code.calculateMaxStack(); }