RFR: 8271461: CompileCommand support for hidden class methods [v6]

Jie Fu jiefu at openjdk.java.net
Thu Aug 5 00:06:37 UTC 2021


On Tue, 3 Aug 2021 23:57:57 GMT, Jie Fu <jiefu at openjdk.org> wrote:

> The /* pattern shouldn't be disable. It's just that it should only work for the class name, which means checking for the '.' separator.
> OK: java.util.ResourceBundle$$Lambda$1/*::method
> not OK: `java.util/*.ResourceBundle$$Lambda$1/0x<digits>::method`

Hi @dean-long ,

In order to disallow `java.util/*::method` mentioned by @iklam , I suggest to disallow `java.util.ResourceBundle$$Lambda$1/*::method` for hidden classes.

Yes , it won't work for `java.util.ResourceBundle$$Lambda$1/*::method`.
But we can still use `java.util.ResourceBundle$$Lambda$1*::method` or `java.util.ResourceBundle$$Lambda$1/0*::method` or `java.util.ResourceBundle$$Lambda$1/0x*::method` instead.

It's not perfect for hidden classes, but it's still better than no support for that style of hidden classes.
And it won't change the behavior of non-hidden classes in that way.

Or do you have any idea to disallow `java.util/*::method` while supporting `java.util.ResourceBundle$$Lambda$1/*::method`?

Thanks.

-------------

PR: https://git.openjdk.java.net/jdk/pull/4926


More information about the hotspot-compiler-dev mailing list