Slava Pestov
892e79cd70
Sema: Use an xmacro to clean up some duplication in CSTrail.cpp
2024-10-07 16:50:46 -04:00
Slava Pestov
6862955244
Sema: Record applied property wrappers in the trail
2024-10-07 16:50:46 -04:00
Slava Pestov
c7edc3494e
Sema: Record result builder transforms in the trail
2024-10-07 16:50:45 -04:00
Slava Pestov
64293ece51
Sema: Push reconciliation down into applySolution() to strengthen invariants
...
Now, we assert if you try to record the same change twice in any
other code path.
2024-10-07 16:50:45 -04:00
Slava Pestov
61575d9913
Sema: Remove a few isRecordingChanges() checks to tighten invariants
...
In these places we now assert if we attempt to record a change
during an active undo.
2024-10-07 16:50:45 -04:00
Slava Pestov
9115a46736
Sema: Record favored constraints in the trail
2024-10-07 16:50:45 -04:00
Slava Pestov
b2adf51d78
Sema: Record disabled constraints in the trail
2024-10-07 16:50:45 -04:00
Slava Pestov
411c590bc8
Sema: Record key path component types in the trail
2024-10-07 16:50:44 -04:00
Slava Pestov
7ea975015f
Sema: Record ASTNode types in the trail
2024-10-07 16:50:44 -04:00
Slava Pestov
3707e49f95
Merge pull request #76808 from slavapestov/cstrail-part-2
...
Continue migration from SolverScope to SolverTrail
2024-10-02 07:22:50 -04:00
Slava Pestov
3dc16a9f5b
Sema: Record defaulted constraints in the trail
2024-10-01 18:10:20 -04:00
Slava Pestov
fcd6bc04fd
Sema: Remove Solution::PackElementGenericEnvironments
2024-10-01 18:10:20 -04:00
Slava Pestov
0518b762d1
Sema: Record pack environments in the trail
2024-10-01 18:10:20 -04:00
Slava Pestov
f51bf3cf9d
Sema: Record pack expansion environments in the trail
2024-10-01 18:10:20 -04:00
Slava Pestov
9afb1a960b
Sema: Record opened pack expansion types in the trail
2024-10-01 18:10:20 -04:00
Slava Pestov
7d3350d0f2
Sema: Record opened existential types in the trail
2024-10-01 18:10:19 -04:00
Slava Pestov
f963f36a16
Sema: Record opened types in the trail
2024-10-01 18:10:19 -04:00
Slava Pestov
a9f392278f
Sema: Record argument matching choices in the trail
2024-10-01 18:10:18 -04:00
Slava Pestov
8b4a58fb02
Sema: Record applied disjunctions in the trail
2024-10-01 18:10:18 -04:00
Slava Pestov
8799596bed
Sema: Record disjunction choices in the trail
2024-10-01 18:10:18 -04:00
Slava Pestov
49487b8893
Sema: Record fixed requirements in the trail
2024-10-01 18:10:17 -04:00
Slava Pestov
106ab41d1d
Merge pull request #76742 from slavapestov/cstrail-part-1
...
Sema: Continue unwinding SolverScope
2024-10-01 12:36:13 -04:00
Slava Pestov
df692edc7c
Sema: Record fixes in the trail
2024-10-01 12:34:41 -04:00
Slava Pestov
62a470e3d5
Sema: Record conversion restrictions in the trail
2024-10-01 12:34:41 -04:00
Slava Pestov
31edb86da9
Sema: Remove ConstraintGraphNode::resetBindingSet()
2024-09-30 22:14:09 -04:00
Slava Pestov
186589bd25
Sema: Remove SolverTrail::Change::introducedToInference()
2024-09-30 22:05:41 -04:00
Slava Pestov
6652e34f55
Sema: Add SolverTrail::Change::InferredBindings and ::RetractedBindings
2024-09-30 21:29:59 -04:00
Slava Pestov
94494b660b
Sema: Make PotentialBindings::infer() and ::retract() idempotent
2024-09-30 21:29:59 -04:00
Slava Pestov
b885c29f71
Sema: Split up SolverTrail::Change::AddedConstraint and ::RemovedConstraint
2024-09-30 21:29:59 -04:00
Steven Wu
cd07d532af
[CAS] Use IncludeTreeFileList instead of full CASFS for caching
...
Use IncludeTreeFileList instead of full feature CASFS for swift
dependency filesystem. This allows smaller CAS based VFS that is smaller
and faster. This is enabled by the CAS enabled compilation does not
need to iterate file system.
rdar://136787368
2024-09-30 16:01:33 -07:00
Slava Pestov
ae53c8e7ff
Sema: Split up SolverTrail::Change::BoundTypeVariable
2024-09-30 15:09:38 -04:00
Slava Pestov
f563de58ec
Merge pull request #76759 from slavapestov/cstrail-part-0
...
Unify ConstraintGraph change tracking with SavedTypeVariableBindings
2024-09-30 08:01:38 -04:00
Slava Pestov
45488809c0
Sema: Add LLVM_DEBUGs to CSTrail.cpp
2024-09-29 21:48:08 -04:00
Slava Pestov
148033930c
Sema: Split off introduceToInference() into its own Change
...
Previously, retractFromInference() was the last step in
unbindTypeVariable(). This doesn't really make sense,
because bindTypeVariable() doesn't call introduceToInference();
its two callers do it later.
Start untangling this by splitting off introduceToInference()
into its own Change, but for now, record this change at the
incorrect place to maintain the same behavior as before.
2024-09-29 21:46:41 -04:00
Amritpan Kaur
6066418340
Merge pull request #73242 from amritpan/metatype-kp-implementation
2024-09-28 02:46:15 -07:00
Amritpan Kaur
8ebc928649
Guard feature behind experimental flag.
2024-09-27 22:42:04 -07:00
Slava Pestov
c0afe3fce1
Sema: Don't create new ConstraintGraphNode during active undo
...
This messes up the bookkeeping for the trail.
2024-09-27 10:51:47 -04:00
Slava Pestov
4ef30a4b47
Sema: Recycle ConstraintGraphNode
2024-09-27 01:30:13 -04:00
Slava Pestov
0c53543927
Sema: More general dumpActiveScopeChanges()
2024-09-26 23:15:27 -04:00
Slava Pestov
105b6b39a9
Sema: Remove ConstraintGraphScope
2024-09-26 23:15:27 -04:00
Slava Pestov
8ee4eeee55
Sema: Migrate SavedTypeVariableBindings to SolverTrail
2024-09-26 23:15:27 -04:00
Slava Pestov
4cc27c9b20
Sema: Factor out SolverTrail from ConstraintGraph
2024-09-26 23:15:26 -04:00
Kavon Farvardin
9569eafedc
Merge pull request #76660 from kavon/small-fixes
...
Sema: generalize `findSyntacticErrorForConsume`
2024-09-25 19:20:39 -07:00
Amritpan Kaur
02b9bcbda2
[Sema] Update diagnostics.
2024-09-25 12:54:52 -07:00
Amritpan Kaur
ffb8baf342
[Sema] Remove checks preventing metatype keypaths in Sema.
2024-09-25 12:54:51 -07:00
Steven Wu
74b93c5b33
Merge pull request #76687 from cachemeifyoucan/eng/PR-dead-code-removal
...
[NFC][ScanDependency] Remove some ununsed code
2024-09-25 09:35:08 -07:00
Steven Wu
5a6f6e1d4d
[NFC][ScanDependency] Remove some ununsed code
...
Clean up some code that no longer used.
2024-09-24 16:29:21 -07:00
Slava Pestov
fca570ca91
Sema: Don't use ExistentialLayout for DeepEquality matching
2024-09-24 19:12:44 -04:00
Kavon Farvardin
df73eecdeb
Sema: generalize findSyntacticErrorForConsume
...
Since this function is being called from the constraint solver now, we
need to generalize the way it obtains the Type of an Expression, as the
expression itself may not know its own type, only the solver does.
resolves rdar://134371893 / https://github.com/swiftlang/swift/issues/75999
2024-09-24 13:59:29 -07:00
Hamish Knight
1cc00e3676
[CS] NFC: Remove SolutionApplicationToFunctionResult
...
This is now no longer needed.
2024-09-17 12:35:11 +01:00