Commit Graph

1510 Commits

Author SHA1 Message Date
Mark Struberg b04c985956 OPENJPA-2911 code cleanup for InterfaceImplGenerator 2023-07-19 18:55:53 +02:00
Mark Struberg bc63865aac OPENJPA-2911 ReverseMapping in ASM 2023-07-19 18:17:03 +02:00
Mark Struberg f83cb62c54 OPENJPA-2911 fix ClassLoader issue with temporary bytecode 2023-07-19 17:56:12 +02:00
Mark Struberg 6eeb025cf3 OPENJPA-2911 migrate InterfaceImplGenerator wip
Still not really there. There is still some very weirdo
ClassLoader mixup which gets 'fixed' as sideeffect of using a roundtrip to BCClass.
Not yet 100% sure yet, still digging
2023-07-19 17:25:52 +02:00
Mark Struberg b4bc2c4965 OPENJPA-2911 remove unused imports 2023-07-19 13:39:49 +02:00
Mark Struberg 0a81c3de7b OPENJPA-2911 move PCEnhancer off Serp 2023-07-19 13:14:16 +02:00
Mark Struberg dfaf8da48e OPENJPA-2911 move ASM stuff to one place 2023-07-18 14:03:04 +02:00
Mark Struberg f26fa179cc OPENJPA-2911 more _managedType removal, code cleanup 2023-07-18 11:20:28 +02:00
Mark Struberg b5a6424f2b OPENJPA-2911 isCloneable via ClassNodeTracker 2023-07-18 10:53:54 +02:00
Mark Struberg eba1637454 OPENJPA-2911 move more BCClass usage to ASM 2023-07-18 10:08:49 +02:00
Mark Struberg eabceb69f4 OPENJPA-2911 inline ASM adapter handling 2023-07-17 23:01:16 +02:00
Mark Struberg 86c266df7a OPENJPA-2911 openjpa-lib without Serp 2023-07-17 22:32:23 +02:00
Romain Manni-Bucau a494966e8b moving to Class.forName to force clinit call instead of creating a dead instance 2023-07-17 19:48:36 +02:00
Mark Struberg 37c114c724 OPENJPA-2911 getPCBytecode now returns ClassNodeTracker 2023-07-17 19:32:20 +02:00
Mark Struberg 11367cfbea OPENJPA-2911 ByteCodeWriter with ASM 2023-07-17 18:06:43 +02:00
Mark Struberg bcb00d8909 OPENJPA-2911 move BytecodeWriter to openjpa-kernel
had no usage in openjpa-lib but introduced dependeny to Serp over there
2023-07-17 10:08:39 +02:00
Mark Struberg 96a64bceba OPENJPA-2911 simplification and more modern code 2023-07-16 17:40:45 +02:00
Mark Struberg a25ad4fc95 OPENJPA-2911 getIdClassConstructorParmOrder in ASM 2023-07-16 17:24:42 +02:00
Mark Struberg 0ab02d6965 OPENJPA-2911 AuxilaryEnhancer in ASM 2023-07-14 12:15:54 +02:00
Mark Struberg fb20da5063 OPENJPA-2911 add clone support in ASM 2023-07-14 11:29:11 +02:00
Mark Struberg 4d505987c3 OPENJPA-2911 addSerialization in ASM 2023-07-13 14:11:14 +02:00
Mark Struberg 62b14584fb OPENJPA-2911 Externalizable in ASM 2023-07-13 11:06:21 +02:00
Mark Struberg 7700fdfd45 OPENJPA-2911 DetachedState as ASM 2023-07-12 11:05:04 +02:00
Mark Struberg d757138669 OPENJPA-2911 remove unused code 2023-07-11 14:52:31 +02:00
Mark Struberg 58db135c5e OPENJPA-2911 isDetached via ASM 2023-07-11 14:50:49 +02:00
Mark Struberg e718fc8b51 OPENJPA-2911 using BCClassWriter
The standard ASM ClassWriter uses Class.forName but does not leverage
our custom ClassLoader which we use to isolate away classes during enhancement.
BCClassWriter extends ClassWriter to use the given ClassLoader.
2023-07-03 18:05:26 +02:00
Mark Struberg 2b9b024f27 OPENJPA-2911 addAccessors in ASM 2023-07-03 11:06:17 +02:00
Mark Struberg 5e89853664 OPENJPA-2911 use ASM static initialiser
solved frame problems by fording java bytecode version 49 on Serp
as Java5 already supports LDC for Classes but doesn't require frame calculation
which Serp is not capable of.
2023-06-26 12:50:03 +02:00
Mark Struberg 4b6a38ec1b OPENJPA-2911 addNewObjectIdInstanceMethod in ASM 2023-06-26 11:37:49 +02:00
Mark Struberg 5d63179b48 OPENJPA-2911 addCopyKeyFieldsFromObjectIdMethod in ASM 2023-06-25 22:17:34 +02:00
Mark Struberg a40b718b03 OPENJPA-2911 addCopyKeyFieldsToObjectIdMethod in ASM 2023-06-25 18:40:21 +02:00
Mark Struberg ae4964cc45 OPENJPA-2911 addGetIDOwningClass in ASM 2023-06-22 12:21:43 +02:00
Mark Struberg 5d781bd6dc OPENJPA-2911 addNoOpApplicationIdentityMethods in ASM 2023-06-22 09:56:40 +02:00
Mark Struberg 9065ae7201 OPENJPA-2911 addReplaceStateManagerMethod in ASM 2023-06-21 19:39:21 +02:00
Mark Struberg 77d8a8e05b OPENJPA-2911 few more internal methods in ASM
* pcGetVersion
* translateFromStateManagerMethod
2023-06-21 15:39:00 +02:00
Mark Struberg 94d1874019 !32852 work on staticInitializer via ASM
sadly we cannot yet activate it as it uses LDC ops for classes
which Serp does not understand as it is pre Java-1.4
2023-06-20 18:00:27 +02:00
Mark Struberg 92bb3b055a OPENJPA-2911 replace Field access via ASM 2023-06-17 21:02:08 +02:00
Mark Struberg a95530b4e6 OPENJPA-2911 attributeTranslation via ASM 2023-06-15 15:37:40 +02:00
Mark Struberg 1a287b267f OPENJPA-2911 fix pcClearFields for mixed access subclassing 2023-06-12 20:20:20 +02:00
Mark Struberg 50bfc57833 OPENJPA-2911 streamline validateProperties 2023-06-10 18:37:02 +02:00
Mark Struberg 810f85ff9f OPENJPA-2911 fix findField 2023-06-10 00:01:42 +02:00
Mark Struberg f0fe08baaa OPENJPA-2911 _pc was missing the Java Version
This die lead to always generating classes only at Java-1.1 bytecode level.
2023-06-09 20:02:21 +02:00
Mark Struberg 3a667fe78a OPENJPA-2911 copyFields via ASM 2023-06-09 20:01:44 +02:00
Mark Struberg d8d829b76b OPENJPA-2911 addProvidedFieldsMethod in ASM 2023-06-08 19:11:23 +02:00
Mark Struberg 03f2d6ae88 OPENJPA-2911 add replace multiple fields in ASM 2023-06-08 14:46:53 +02:00
Mark Struberg cd194bb72e OPENJPA-2911 addReplaceField in ASM
note that this code right now cannot handle subclasses
as we now generate ldc classconstant code which Serp is unable to understand.
The generated bytecode itself should be correct though!
2023-06-08 13:16:23 +02:00
Mark Struberg 6164d355a6 OPENJPA-2911 addManagedFieldCountMethod in ASM 2023-06-06 20:22:11 +02:00
Mark Struberg 972b5d0e62 OPENJPA-2911 migrate addNewInstance to ASM 2023-06-06 17:34:28 +02:00
Mark Struberg 4c7c81d249 OPENJPA-2911 clearFields method via ASM 2023-06-06 12:11:59 +02:00
Mark Struberg 80272a3bf7 OPENJPA-2911 add pcFields via ASM 2023-06-01 17:50:58 +02:00