-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Java: automodel application mode: use endpoint class like in framework mode #13886
Conversation
57cd4c1
to
d31e48d
Compare
…rely on normal argument node for nicer extracted examples
6f746c7
to
e1a5eba
Compare
…responding to a varargs array
4906015
to
3433437
Compare
@jcogs33, are you able to take a look? CI Checks are ✅ |
Sure, I'll try to take a look sometime tomorrow (2023/08/09). |
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.
I added a couple minor questions, otherwise looks reasonable to me. You might want a second pair of 👀 since I'm not sure if I'm familiar enough with the automodel code (as my questions might show 🙂).
For varargs arguments, we only use the first argument passed as endpoint (example). This is easy and avoids redundancy. We're not forced to do it that way, but it makes sense to me. Otherwise, we'd push complexity to the the classification script (eg., it might decide to use competing classifications for a given MaD model) and to the triage tooling. Do you agree?
I agree that just using the the first varargs argument as endpoint sounds like the best solution.
java/ql/src/Telemetry/AutomodelApplicationModeExtractCandidates.ql
Outdated
Show resolved
Hide resolved
java/ql/src/Telemetry/AutomodelApplicationModeExtractNegativeExamples.ql
Outdated
Show resolved
Hide resolved
java/ql/src/Telemetry/AutomodelApplicationModeExtractPositiveExamples.ql
Outdated
Show resolved
Hide resolved
...emetry/AutomodelApplicationModeExtraction/AutomodelApplicationModeExtractCandidates.expected
Outdated
Show resolved
Hide resolved
Thanks for the thorough review 🥳 I think I've addressed your comments :) |
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.
Looks reasonable to me :)
There now is a new endpoint class in application mode that mirrors the one we recently added to framework mode. The new class additionally has proper support for vararg arrays.
You'll find some documentation of how the class behaves in the qll file.
The test case in Test.java shows how varargs are treated.
Questions for Reviewers
fyi, @jhelie