@@ -679,13 +679,13 @@ predicate jumpStepNotSharedWithTypeTracker(Node nodeFrom, Node nodeTo) {
679679 * no reason to include steps for list content right now.
680680 */
681681predicate storeStepCommon ( Node nodeFrom , ContentSet c , Node nodeTo ) {
682- tupleStoreStep ( nodeFrom , c , nodeTo )
682+ tupleStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
683683 or
684- dictStoreStep ( nodeFrom , c , nodeTo )
684+ dictStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
685685 or
686- moreDictStoreSteps ( nodeFrom , c , nodeTo )
686+ moreDictStoreSteps ( nodeFrom , c . asSingleton ( ) , nodeTo )
687687 or
688- iterableUnpackingStoreStep ( nodeFrom , c , nodeTo )
688+ iterableUnpackingStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
689689}
690690
691691/**
@@ -695,26 +695,26 @@ predicate storeStepCommon(Node nodeFrom, ContentSet c, Node nodeTo) {
695695predicate storeStep ( Node nodeFrom , ContentSet c , Node nodeTo ) {
696696 storeStepCommon ( nodeFrom , c , nodeTo )
697697 or
698- listStoreStep ( nodeFrom , c , nodeTo )
698+ listStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
699699 or
700- setStoreStep ( nodeFrom , c , nodeTo )
700+ setStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
701701 or
702- attributeStoreStep ( nodeFrom , c , nodeTo )
702+ attributeStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
703703 or
704- matchStoreStep ( nodeFrom , c , nodeTo )
704+ matchStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
705705 or
706- any ( Orm:: AdditionalOrmSteps es ) .storeStep ( nodeFrom , c , nodeTo )
706+ any ( Orm:: AdditionalOrmSteps es ) .storeStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
707707 or
708708 FlowSummaryImpl:: Private:: Steps:: summaryStoreStep ( nodeFrom .( FlowSummaryNode ) .getSummaryNode ( ) , c ,
709709 nodeTo .( FlowSummaryNode ) .getSummaryNode ( ) )
710710 or
711- synthStarArgsElementParameterNodeStoreStep ( nodeFrom , c , nodeTo )
711+ synthStarArgsElementParameterNodeStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
712712 or
713- synthDictSplatArgumentNodeStoreStep ( nodeFrom , c , nodeTo )
713+ synthDictSplatArgumentNodeStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
714714 or
715- yieldStoreStep ( nodeFrom , c , nodeTo )
715+ yieldStoreStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
716716 or
717- VariableCapture:: storeStep ( nodeFrom , c , nodeTo )
717+ VariableCapture:: storeStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
718718}
719719
720720/**
@@ -911,9 +911,9 @@ predicate attributeStoreStep(Node nodeFrom, AttributeContent c, Node nodeTo) {
911911 * Subset of `readStep` that should be shared with type-tracking.
912912 */
913913predicate readStepCommon ( Node nodeFrom , ContentSet c , Node nodeTo ) {
914- subscriptReadStep ( nodeFrom , c , nodeTo )
914+ subscriptReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
915915 or
916- iterableUnpackingReadStep ( nodeFrom , c , nodeTo )
916+ iterableUnpackingReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
917917}
918918
919919/**
@@ -922,18 +922,18 @@ predicate readStepCommon(Node nodeFrom, ContentSet c, Node nodeTo) {
922922predicate readStep ( Node nodeFrom , ContentSet c , Node nodeTo ) {
923923 readStepCommon ( nodeFrom , c , nodeTo )
924924 or
925- matchReadStep ( nodeFrom , c , nodeTo )
925+ matchReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
926926 or
927- forReadStep ( nodeFrom , c , nodeTo )
927+ forReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
928928 or
929- attributeReadStep ( nodeFrom , c , nodeTo )
929+ attributeReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
930930 or
931931 FlowSummaryImpl:: Private:: Steps:: summaryReadStep ( nodeFrom .( FlowSummaryNode ) .getSummaryNode ( ) , c ,
932932 nodeTo .( FlowSummaryNode ) .getSummaryNode ( ) )
933933 or
934- synthDictSplatParameterNodeReadStep ( nodeFrom , c , nodeTo )
934+ synthDictSplatParameterNodeReadStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
935935 or
936- VariableCapture:: readStep ( nodeFrom , c , nodeTo )
936+ VariableCapture:: readStep ( nodeFrom , c . asSingleton ( ) , nodeTo )
937937}
938938
939939/** Data flows from a sequence to a subscript of the sequence. */
@@ -995,17 +995,17 @@ predicate attributeReadStep(Node nodeFrom, AttributeContent c, AttrRead nodeTo)
995995 * in `x.f = newValue`.
996996 */
997997predicate clearsContent ( Node n , ContentSet c ) {
998- matchClearStep ( n , c )
998+ matchClearStep ( n , c . asSingleton ( ) )
999999 or
1000- attributeClearStep ( n , c )
1000+ attributeClearStep ( n , c . asSingleton ( ) )
10011001 or
1002- dictClearStep ( n , c )
1002+ dictClearStep ( n , c . asSingleton ( ) )
10031003 or
10041004 FlowSummaryImpl:: Private:: Steps:: summaryClearsContent ( n .( FlowSummaryNode ) .getSummaryNode ( ) , c )
10051005 or
1006- dictSplatParameterNodeClearStep ( n , c )
1006+ dictSplatParameterNodeClearStep ( n , c . asSingleton ( ) )
10071007 or
1008- VariableCapture:: clearsContent ( n , c )
1008+ VariableCapture:: clearsContent ( n , c . asSingleton ( ) )
10091009}
10101010
10111011/**
0 commit comments