-
Notifications
You must be signed in to change notification settings - Fork 19
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
Move PICO to EISOP #1013
base: master
Are you sure you want to change the base?
Move PICO to EISOP #1013
Conversation
Co-authored-by: Werner Dietl <wdietl@gmail.com> Co-authored-by: Haifeng Shi <shihaifeng1998@gmail.com> Co-authored-by: Weitian Xing <xingweitian@gmail.com> Co-authored-by: Jeff Luo <j36luo@uwaterloo.ca> Co-authored-by: Mier Ta <m2ta@uwaterloo.ca>
33dfd50
to
32a297b
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.
A quick round of initial comments.
checker/src/test/java/org/checkerframework/checker/test/junit/PICOImmutabilityTest.java
Show resolved
Hide resolved
checker-qual/src/main/java/org/checkerframework/checker/pico/qual/Bottom.java
Outdated
Show resolved
Hide resolved
checker-qual/src/main/java/org/checkerframework/checker/pico/qual/Lost.java
Outdated
Show resolved
Hide resolved
.../src/main/java/org/checkerframework/checker/pico/PICOInitializationAnnotatedTypeFactory.java
Outdated
Show resolved
Hide resolved
checker/src/main/java/org/checkerframework/checker/pico/PICONoInitAnnotatedTypeFactory.java
Outdated
Show resolved
Hide resolved
checker/src/main/java/org/checkerframework/checker/pico/jdk.astub
Outdated
Show resolved
Hide resolved
Co-authored-by: Werner Dietl <wdietl@gmail.com>
PICOViewpointAdapter vpa = atypeFactory.getViewpointAdapter(); | ||
AnnotationMirror adapted = vpa.combineAnnotationWithAnnotation(lhs, rhs); | ||
return atypeFactory.getQualifierHierarchy().isSubtypeQualifiersOnly(adapted, lhs); | ||
} |
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.
After #1032, this method and the override of isValidUse( AnnotatedDeclaredType declarationType, AnnotatedDeclaredType useType, Tree tree)
can be removed.
…hod parameters are not
|
||
this.assignableReadonlyField = rdmObject; | ||
// :: error: (assignment.type.incompatible) :: error: (illegal.field.write) | ||
this.rdmField = rdmObject; // Field is adpated to immutable but method parameters are not? |
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.
This is wrong, method parameter should also be adapted. #1037
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.
visitMethod is getting its oracle in AnnotatedExecutableType methodType = atypeFactory.getAnnotatedType(tree).deepCopy();
. It should get adapated version of the original method signature.
|
|
|
I think we have to bear the windows failure as the script does not support windows
|
Original code repo: https://github.com/opprop/immutability
Some of commits are presented in: https://github.com/Ao-senXiong/immutability/tree/pico-cf-only
Merge with: eisop/jdk#106
As discussed before, I will try to move PICO here gradually. Hopefully adding test cases and Javadoc with more discussion as well.