-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial TCK for the language model #310
Conversation
There's a couple of TODOs in the code, plus I want to add one or two other smaller items, but this PR should have like 90% of what's required, IMHO. |
So there is no actual test framework involved, the docs will say to run it from your test framework of choice? |
That's the idea, yes. |
Added a commit with some more tests (for a bunch of corner cases, I especially enjoyed figuring out how inherited repeatable annotations are supposed to work). I think the tests in this PR now have pretty good coverage. There are still 8 TODOs in the code. The TODOs are of 3 kinds:
|
Added one more commit that resolves some TODOs and adds some more tests. Summary of the 5 remaining TODOs:
|
5ce813f
to
dd5ad53
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, great job!
4e742eb
to
f7ba1df
Compare
1a82bce
to
874f54b
Compare
Added two more commits for some strange cases (in particular, annotations and type annotations on parameters of enum constructors, which are notorious for having synthetic parameters). By now, there is only 1 TODO remaining: how to test support for records. |
- test annotations on receiver types - test annotations on types in the `throws` clause - test bridge methods (they are _not_ returned) - test default constructors (they _are_ returned) - test abstract `enum` methods - test equality (and hash code) - test inherited annotations (on classes) - test repeatable annotations (including inherited)
- annotations on type parameter bounds that are parameterized types - annotations on enum constants, enum constructors and enum constructor parameters - access to declaring classes of inherited methods - number of constructor parameters, especially for enum constructors - remove TODOs for annotations on transitive type parameter bounds - workaround for bug JDK-8202469
The API was respecified to do what this test always verified.
5b44ca2
to
ae9ef11
Compare
Rebased on current |
The README change looks good! |
No description provided.