Commit Graph

5 Commits

Author SHA1 Message Date
Allan Shortlidge
2aed784ede Sema: Expand TypeRefinementContexts lazily for unparsed function bodies.
When building the TypeRefinementContext subtree for a function declaration,
postpone creation of the subtree if the function body is unparsed. This allows
the compiler to completely avoid parsing function bodies that have been skipped
(e.g. with -experimental-skip-non-inlinable-function-bodies) while still
ensuring that the TRCs for functions are built lazily later if needed. When
lazily generating SIL for a function with -experimental-lazy-typecheck, the
TRCs must be built out while typechecking the function in order to emit correct
diagnostics and SIL for `if #available` queries.

Resolves rdar://117448323
2023-11-09 16:02:58 -08:00
Nate Chandler
ad71233b93 [Test] Require swift_interpreter in a couple tests.
Tests that use %target-jit-run require swift_interpreter.
2023-08-28 13:05:54 -07:00
Nate Chandler
4e22193d9e [Test] Require asserts for some experimental-feature tests.
For LazyImmediate and TupleConformances.
2023-08-24 13:46:35 -07:00
Zak Kent
c59459940c [Test] Only run lazy tests on macOS 2023-08-14 13:28:23 -07:00
Zak Kent
5e75c76386 [Test] Add tests for lazy immediate mode 2023-08-14 13:28:22 -07:00