#102 BeanModel for non-public classes

Uzavrená
otvorené 2 rokov pred užívateľom ranides · 3 komentárov
ranides okomentoval 2 rokov pred

If we try to create BeanModel for non-public class, newer JDK will warn about illegal reflective access.

Essentially default behaviour of IClass.methods should be changed.

If we try to list all public methods, we should replace non-public this class with stream of public ancestor + public interfaces and inspect those classes.

Maybe we should even implement something like new method IClasses IClass#publicThis which will return colloection with exactly that: public ancestor and public interfaces

If we try to create BeanModel for non-public class, newer JDK will warn about illegal reflective access. Essentially default behaviour of `IClass.methods` should be changed. If we try to list all public methods, we should replace non-public `this` class with stream of _public ancestor + public interfaces_ and inspect those classes. Maybe we should even implement something like new method `IClasses IClass#publicThis` which will return colloection with exactly that: public ancestor and public interfaces
ranides okomentoval 2 rokov pred
Vlastník

We need to run junit tests in JDK 11 because of RuntimeConfiguration.FEATURE_BEAN_MODEL_FOR_PRIVATE

We need to write additional tests in JDK 11 to see reflective access warning

Please note it is not exactly about "private class", it is much more complicated

We need to run junit tests in JDK 11 because of RuntimeConfiguration.FEATURE_BEAN_MODEL_FOR_PRIVATE We need to write additional tests in JDK 11 to see reflective access warning Please note it is not exactly about "private class", it is much more complicated
ranides okomentoval 2 rokov pred
Vlastník
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by net.ranides.assira.reflection.util.ReflectUtils (file:/C:/ms/src/assira/assira.core/target/classes/) to field java.lang.Enum.name
WARNING: Please consider reporting this to the maintainers of net.ranides.assira.reflection.util.ReflectUtils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
``` WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by net.ranides.assira.reflection.util.ReflectUtils (file:/C:/ms/src/assira/assira.core/target/classes/) to field java.lang.Enum.name WARNING: Please consider reporting this to the maintainers of net.ranides.assira.reflection.util.ReflectUtils WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release ```
ranides okomentoval 2 rokov pred
Vlastník

Current solution for FEATURE_BEAN_MODEL_FOR_PRIVATE is in reality very weak, not always working hack

Current solution for FEATURE_BEAN_MODEL_FOR_PRIVATE is in reality very weak, not always working hack
ranides sa odvolal na túto issue z commitu 2 rokov pred
ranides zatvorené 1 rok pred
Prihláste sa pre zapojenie do konverzácie.
Žiadny míľnik
Žiadny priradený
1 účastníkov
Načítavanie...
Zrušiť
Uložiť
Zatiaľ neexistuje žiadny obsah.