-
Notifications
You must be signed in to change notification settings - Fork 1.8k
C#/Java/Go: Neutrals are split into separate classes. #17007
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
C#/Java/Go: Neutrals are split into separate classes. #17007
Conversation
59abcb9
to
bcabca4
Compare
bcabca4
to
630ece6
Compare
630ece6
to
0bf1ed1
Compare
DCA except for swift looks good. |
After discussing this in the swift channel on slack - it appears that it is not uncommon that DCA shows a slowdown as the execution time is generally low for the swift projects; Accepting the DCA executions for swift as well. |
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.
@@ -20,6 +20,10 @@ public class NewSinks | |||
// neutral=Sinks;NewSinks;Sink2;(System.Object);summary;df-generated | |||
public static void Sink2(object o) => throw null; | |||
|
|||
// Defined as sink neutral in the file next to the neutral summary test. | |||
// neutral=Sinks;NewSinks;NoSink;(System.Object);summary;df-generated | |||
public static void NoSink(object o) => throw null; |
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.
Now the bug is fixed, isn't this a confusing name? (Same for the java test.)
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.
The method is defined as sink (manual) and summary (df-generated) neutral in the extensible file.
That is, we expect that the "neutral" test (which only reports summary neutrals) would generate a neutral (df-generated) summary for this method.
The name "NoSink" is because it is explicitly stated in the extensible file that this method is sink neutral (it is not a sink).
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.
Ah. Thanks for explaining.
The existing implementation doesn't handle kind and provenance in conjunction with each other as they get mixed in the
NeutralCallable
class (we basically get the product of the kinds and provenances - see the example below).The neutral classes are now created based on parameterised modules instead.
If we quick eval the
myTest
predicate in the following example, we get the tuples(A,A1)
and(A,A2)
.