Alexis Laferrière
bc9babbbea
Diagnostics: Use public module name in diagnostics
2024-09-04 16:21:37 -07:00
Alexis Laferrière
214da85183
Sema: Keep public module name in ModuleDecl
2024-09-04 16:20:12 -07:00
Alejandro Alonso
c1dd957c75
Use intptr_t more consistently
2024-09-04 15:13:50 -07:00
Alejandro Alonso
451e7259a1
Add ValueGenerics experimental feature
2024-09-04 15:13:49 -07:00
Alejandro Alonso
22349bcfb9
Use intptr_t instead of ssize_t and more test fixes
2024-09-04 15:13:49 -07:00
Alejandro Alonso
46a4d56c2b
Bring back the isOpaqueType parameter for deserialization
2024-09-04 15:13:49 -07:00
Alejandro Alonso
15db739055
Serialize IntegerType
...
Use BCBlob
2024-09-04 15:13:47 -07:00
Alejandro Alonso
bfffd7e119
Set the param kind in ASTGen
2024-09-04 15:13:47 -07:00
Alejandro Alonso
19fc174f30
Don't create fake GTPDs for SIL generic signatures
2024-09-04 15:13:47 -07:00
Alejandro Alonso
e0f2b812e8
Add serialization and parser tests for SIL
2024-09-04 15:13:47 -07:00
Alejandro Alonso
7cd424812f
Move some value checking to desugaring
2024-09-04 15:13:46 -07:00
Alejandro Alonso
71fee06c9a
Requestify GTPD::getValueType
2024-09-04 15:13:46 -07:00
Slava Pestov
b9b6bb7b69
AST: Introduce new kind of sugared GenericTypeParamType
...
This one just stores an identifier instead of a declaration.
2024-09-04 15:13:46 -07:00
Slava Pestov
1ff1b9479a
AST: Pick off some usages of GenericTypeParamType::getDecl()
2024-09-04 15:13:46 -07:00
Alejandro Alonso
a434126554
Disallow referencing a value generic outside of certain contexts
2024-09-04 15:13:45 -07:00
Alejandro Alonso
f4f60f4344
Remove Value requirement Add GenericTypeParamKind
2024-09-04 15:13:43 -07:00
Alejandro Alonso
0df42e9841
Lower UDRE to TypeValue if it references a value generic
2024-09-04 15:13:29 -07:00
Alejandro Alonso
7c85261a77
Add runtime support
2024-09-04 15:13:27 -07:00
Alejandro Alonso
3e9c4633ca
Add some new diagnostics and tests
2024-09-04 15:13:27 -07:00
Alejandro Alonso
75c2cbf593
Implement value generics
...
Some requirement machine work
Rename requirement to Value
Rename more things to Value
Fix integer checking for requirement
some docs and parser changes
Minor fixes
2024-09-04 15:13:25 -07:00
Slava Pestov
b1e0e776b4
AST: Simplify SubstitutionMap::lookupConformance()
2024-09-04 14:57:38 -04:00
Slava Pestov
7e4e79c69f
AST: Simplify SubstitutionMap::get()
2024-09-04 14:57:38 -04:00
Slava Pestov
851a829063
Sema: Consolidate logic for opening existentials in OpenedExistentials.cpp
2024-09-04 14:57:38 -04:00
Slava Pestov
a3c0e225a7
Merge pull request #76238 from slavapestov/existential-signature-rework-part-3
...
Allow type variables to appear inside opened existential archetypes
2024-09-04 14:53:18 -04:00
Doug Gregor
601a5c3c0c
Merge pull request #76187 from DougGregor/extract-inlinable-text-swift-syntax
...
Implement extractInlinableText with swift-syntax
2024-09-04 07:53:40 -07:00
Slava Pestov
f633c16135
RequirementMachine: Re-enable an ASSERT
2024-09-04 10:42:19 -04:00
Slava Pestov
abb8e8feb1
AST: Remove old form of getOpenedExistentialSignature()
2024-09-04 10:42:19 -04:00
Slava Pestov
dbda573e88
AST: Remove OpenedArchetypeType::getSelfInterfaceTypeFromContext()
2024-09-04 10:42:19 -04:00
Slava Pestov
c47f352df7
AST: Use new form of getOpenedExistentialSignature() in GenericEnvironment::forOpenedExistential()
2024-09-04 10:42:18 -04:00
Slava Pestov
e9cec9da65
AST: Remove OpenedArchetypeType::getOpenedExistentialID()
2024-09-04 10:42:18 -04:00
Slava Pestov
1778a9f595
AST: Print opened existential substitutions in ASTPrinter/ASTDumper
2024-09-04 10:42:18 -04:00
Slava Pestov
fa286b941b
AST: TypeWalker walks into substitutions of local archetypes
2024-09-04 10:42:18 -04:00
Alex Hoppen
791c1fddc8
Merge pull request #76237 from swiftlang/revert-60057-mpokhylets/isolated-deinit
...
Revert "Isolated synchronous deinit"
2024-09-03 22:17:09 -07:00
Slava Pestov
3f317a10fc
Merge pull request #76216 from slavapestov/existential-signature-rework-part-2
...
Convert more callers to use new form of ASTContext::getOpenedExistentialSignature()
2024-09-03 23:22:00 -04:00
Alex Hoppen
c5aa49ba64
Revert "Isolated synchronous deinit"
2024-09-03 18:11:26 -07:00
Augusto Noronha
141c96fee1
Account for multiple modules when looking up the DeclContext of a type
...
When looking up the decl context of a type, ASTDemangler has to take
into account that there are multiple different modules where that type
could've come from. This is due to two facts:
- Thanks to the `-module-abi-name` flag, multiple modules can share
the same ABI name (which is the module name that is usually used when
mangling a type).
- In some situations mangling can use the module's real name, for
example, when mangling for the debugger or USRs coupled with @_originallyDefinedIn.
rdar://134095412
2024-09-03 16:44:41 -07:00
Steven Wu
fcdc29500f
[DependencyScanner] Drop macro search path if not needed
...
When scanning swift modules and constructing their build commands, there
is no need to pass any external plugin search paths if there are no macro
dependencies for the module.
rdar://135221984
2024-09-03 15:15:20 -07:00
Slava Pestov
07e8e07059
AST: Unwrap ExistentialType in LocalArchetypeRequirementCollector::addOpenedExistential()
2024-09-03 17:31:26 -04:00
Slava Pestov
e3ff6f0697
AST: Fiddle with GenericEnvironment::forOpenedExistential() again
2024-09-03 17:31:26 -04:00
Slava Pestov
8299655629
Sema: Use new form of getOpenedExistentialSignature() in typeEraseOpenedExistentialReference()
2024-09-03 17:31:26 -04:00
Slava Pestov
6b67ba6813
AST: Transitional hack in ArchetypeType::getExistentialType()
2024-09-03 17:31:08 -04:00
Allan Shortlidge
3f626f50fe
Merge pull request #76203 from tshortli/availability-context-cleanup
...
AST: Clean up `AvailabilityContext` and uses
2024-09-03 09:42:25 -07:00
Konrad `ktoso` Malawski
c86e4a8738
Merge pull request #60057 from nickolas-pohilets/mpokhylets/isolated-deinit
...
Co-authored-by: Konrad `ktoso` Malawski <ktoso@apple.com >
2024-09-04 01:16:56 +09:00
Slava Pestov
ba585fd6c0
Merge pull request #76206 from slavapestov/existential-signature-rework-part-1
...
AST: Add new implementation of getOpenedExistentialSignature()
2024-09-03 10:05:29 -04:00
Slava Pestov
e520a325bb
AST: Generalize GenericEnvironment::maybeApplyOuterSubstitutions()
2024-09-02 22:50:44 -04:00
Slava Pestov
cc6b3c1cba
AST: Simplify ValueDecl::findExistentialSelfReferences()
2024-09-02 21:42:04 -04:00
Slava Pestov
2ebef08f7e
AST: Generalize findGenericParameterReferences()
2024-09-02 21:42:04 -04:00
Allan Shortlidge
89ea92d550
AST: Introduce ASTContext::getTargetPlatformStringForDiagnostics().
...
NFC.
2024-09-02 18:24:31 -07:00
Allan Shortlidge
0bf3aa9df0
AST: Add AvailabilityContext::getVersionString() for debugging and diagnostics.
...
NFC (except for debug output).
2024-09-02 16:47:14 -07:00
Allan Shortlidge
01215b0e3d
AST: Remove UnavailabilityReason.
...
`UnavailabilityReason` does not live up to its name because it only models
potential unavailability due to an unmet OS version requirement. It does not
model unavailability caused by explicit annotation, language mode requirements,
obsoletion, etc. `AvailabilityContext` already models an OS version
requirement, so use it instead.
NFC.
2024-09-02 16:47:14 -07:00