Repository navigation
Conversation
PptTopLevel.normalize_type derives the type from the name when the declaration gives no type, or gives the type exit or point, so the is_enter, is_exit, is_combined_exit, is_subexit, is_object, and is_class predicates no longer need name-based fallbacks. A numbered exit declared with type exit is a subexit. * Daikon.create_combined_exits does not replace a declared combined exit. * AnnotateNullable handles an .inv file that lacks a combined exit. * PptConditional takes its parent's type. Split from #858.
|
Warning Review limit reached
This review includes 8 billable files and costs up to $2.00. Or wait 8 minutes for your next included review. View limit detailsLimit details: You’ve used all 2 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (8)
Comment |
mernst
added this pull request to stack #874
October 6, 2026 15:32
mernst
removed this pull request from stack #874
October 6, 2026 15:46
This was referenced Oct 6, 2026
Member
Author
|
Replaced by #876, whose branch is in the mernst fork like the other PRs. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is one of three PRs split from #858. It is independent of #875; #873 depends on both. It makes the program point type predicates (
is_enter,is_exit,is_combined_exit,is_subexit,is_object,is_class) consistent.Previously, each predicate used the declared program point type when there was one, and otherwise the name. Declared types are not always consistent with the name: some front ends declare a numbered exit such as
foo:::EXIT22withppt-type exit, which made it a combined exit. NowPptTopLevel.normalize_typederives the type from the name when the declaration gives no type, or givesexitor the defaultpoint, and the predicates use only the type. APptConditionaltakes its parent's type.Consequences:
KnownValues,KnownValuesNewDecls, andNonZeroLargeRangetests, the numbered exits are declared withppt-type exit. They are now subexits, so Daikon creates their combined exit, and the goal files report invariants at:::EXITrather than:::EXIT1.Daikon.create_combined_exitsdoes not replace a combined exit that the declarations already contain.AnnotateNullablehandles an .inv file that has numbered exits but no combined exit, as an .inv file written before this change may: it combines the annotations of all the numbered exits.New method
PptName.isExitWithLineNumber()distinguishesfoo:::EXIT22from names such asfoo:::EXIT_CONDITION, for whichisNumberedExitPoint()is also true.