More testcases for overweaving and better handling of WeaverStateInfo
to avoid the dreaded problems deserialized the 'special key' used
to store diffs.
With these changes once a class is woven via overweaving we switch
the diff we store in the weaverstateinfo to 0 byte array (indicating
overweaving happened for later weavers that see it). We also stop
writing the special 'key' into the attribute and avoid looking-for
and attempting to replace it at the end of weaving.
On JDK11 call the defineClass variant with a ProtectionDomain param
This alters the defineClass used when loadtime weaving and defining
'extra' classes (e.g. closures). This change causes us to call
the defineClass() method variant on ClassLoader that takes a
protection domain, so it should share the same protection domain as
the class for which the extra class was generated.
Issue: https://bugs.eclipse.org/bugs/show_bug.cgi?id=542421
Change the mehtod name "containsField" to "findsField".
The method implements finding a field object in the 'fieldsList' with a given name. If found, return the found field object, otherwise return null.
Thus, rename the method as "findsField" should be more clear than "containsField" since "containsField" is prone to ask whether the "fieldsFile" contains a field or not and return true or false.
Signed-off-by: Kui Liu <brucekuiliu@gmail.com>