@@ -815,26 +815,20 @@ private module Cached {
815
815
)
816
816
}
817
817
818
- private predicate store (
819
- Node node1 , Content c , Node node2 , DataFlowType contentType , DataFlowType containerType
820
- ) {
821
- exists ( ContentSet cs |
822
- c = cs .getAStoreContent ( ) and storeSet ( node1 , cs , node2 , contentType , containerType )
823
- )
824
- }
825
-
826
818
/**
827
819
* Holds if data can flow from `node1` to `node2` via a direct assignment to
828
- * `f `.
820
+ * `c `.
829
821
*
830
822
* This includes reverse steps through reads when the result of the read has
831
823
* been stored into, in order to handle cases like `x.f1.f2 = y`.
832
824
*/
833
825
cached
834
- predicate store ( Node node1 , TypedContent tc , Content c , Node node2 , DataFlowType contentType , DataFlowType containerType ) {
835
- tc .getContent ( ) = c and
836
- tc .getContainerType ( ) = containerType and
837
- store ( node1 , c , node2 , contentType , containerType )
826
+ predicate store (
827
+ Node node1 , Content c , Node node2 , DataFlowType contentType , DataFlowType containerType
828
+ ) {
829
+ exists ( ContentSet cs |
830
+ c = cs .getAStoreContent ( ) and storeSet ( node1 , cs , node2 , contentType , containerType )
831
+ )
838
832
}
839
833
840
834
/**
@@ -934,9 +928,6 @@ private module Cached {
934
928
TReturnCtxNoFlowThrough ( ) or
935
929
TReturnCtxMaybeFlowThrough ( ReturnPosition pos )
936
930
937
- cached
938
- newtype TTypedContent = MkTypedContent ( Content c , DataFlowType t ) { store ( _, c , _, _, t ) }
939
-
940
931
cached
941
932
newtype TAccessPathFront =
942
933
TFrontNil ( ) or
@@ -1415,30 +1406,6 @@ class ApproxAccessPathFrontOption extends TApproxAccessPathFrontOption {
1415
1406
}
1416
1407
}
1417
1408
1418
- /** A `Content` tagged with the type of a containing object. */
1419
- class TypedContent extends MkTypedContent {
1420
- private Content c ;
1421
- private DataFlowType t ;
1422
-
1423
- TypedContent ( ) { this = MkTypedContent ( c , t ) }
1424
-
1425
- /** Gets the content. */
1426
- Content getContent ( ) { result = c }
1427
-
1428
- /** Gets the container type. */
1429
- DataFlowType getContainerType ( ) { result = t }
1430
-
1431
- /** Gets a textual representation of this content. */
1432
- string toString ( ) { result = c .toString ( ) }
1433
-
1434
- /**
1435
- * Holds if access paths with this `TypedContent` at their head always should
1436
- * be tracked at high precision. This disables adaptive access path precision
1437
- * for such access paths.
1438
- */
1439
- predicate forceHighPrecision ( ) { forceHighPrecision ( c ) }
1440
- }
1441
-
1442
1409
/**
1443
1410
* The front of an access path. This is either a head or a nil.
1444
1411
*/
0 commit comments