swift-ci
e6fd1101e1
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-07 14:03:41 -07:00
Saleem Abdulrasool
ac1d43b7c8
ClangImporter: repair build on Windows
...
Explicitly apply the std::move as the signature of the callee is:
void swift::Evaluator::cacheOutput<swift::ExtendedNominalRequest, _>(const Request &, swift::NominalTypeDecl *&&)
The second formal parameter here is a `swift::ClassDecl` which is a
subclass of NominalTypeDecl, however, the cast will construct a
`swift::NominalTypeDecl *`. This is a lvalue and cannot be bound to a
r-value reference. Explicitly construct the r-value reference via
`std::move`.
2019-09-07 11:13:39 -07:00
swift-ci
927fc3f39e
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-06 20:03:38 -07:00
swift-ci
5b3fdba240
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-06 17:23:34 -07:00
Robert Widmann
d4bb9a5cfe
Define GenericParamListRequest
...
GenericParamListRequest formalizes the lazy generic parameter list construction pattern we were performing before.
2019-09-06 17:22:30 -07:00
swift-ci
9bf6d8689d
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-06 14:23:36 -07:00
Slava Pestov
f292c1b240
AST: Remove GenericContext::setGenericEnvironment()
...
This was a transitional step before converting all callers to
store a generic signature instead of an environment.
2019-09-06 17:16:04 -04:00
Slava Pestov
1e94466bcc
AST: Replace GenericSignature::createGenericEnvironment() with getGenericEnvironment()
...
This memoizes the result, which is fine for all callers; the only
exception is open existential types where each new open existential
now explicitly gets a unique generic environment, allocated by
calling GenericEnvironment::getIncomplete().
2019-09-06 17:16:03 -04:00
Slava Pestov
99ea1bb980
ClangImporter: Sink getEffectiveClangNode() down from IDE to the importer and clean up related code
2019-09-06 16:03:51 -04:00
swift-ci
a72ef5d912
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-06 11:43:03 -07:00
Varun Gandhi
f2f63882e2
[NFC] Always use syntactic information in ExtendedNominalRequest.
...
Since we started saving the nominal in the .swiftmodule, changing the other
call-sites in ClangImporter to save the value means that we can rely on
the typeRepr being non-null except when the syntax tree was ill-formed.
2019-09-05 15:33:02 -07:00
swift-ci
eb52f0c448
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-09-04 15:23:47 -07:00
Slava Pestov
a09382ce2b
AST: Completely remove NominalTypeDecl::LookupDirectFlags::IgnoreNewExtensions
2019-09-03 22:53:52 -04:00
Slava Pestov
89d5725c63
ClangImporter: Delay building imported conformances until we ask for them
2019-09-03 22:53:52 -04:00
Slava Pestov
be84556b9e
ClangImporter: Record the error wrapper's struct 'Code' member enum in a side table
2019-09-03 22:53:52 -04:00
Slava Pestov
220bc64064
ClangImporter: Directly track constructors imported into a nominal type
...
This avoids a re-entrant lookup while doing lazy member loading,
and eliminates a usage of LookupDirectFlags::IgnoreNewExtensions,
and the last usage of NominalTypeDecl::makeMemberVisible().
2019-09-03 22:39:36 -04:00
Slava Pestov
c87e1a23db
Sema: Try harder not to page in all members of imported classes
2019-09-03 22:39:35 -04:00
Slava Pestov
75f4625bee
AST: Peel off ClangModuleLoader.h from ASTContext.h
2019-09-03 22:39:35 -04:00
swift-ci
b08854787c
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-29 16:43:42 -07:00
Jordan Rose
6e25fd9ca4
Stop hiding '@frozen' from code completion ( #26942 )
...
And print it explicitly on imported NS_CLOSED_ENUMs.
2019-08-29 16:42:18 -07:00
swift-ci
5c025a7b77
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-27 11:23:51 -07:00
Robert Widmann
8d22702a22
Use Integrated Caching
...
Replumb the TypeLoc for the extended type as a TypeRepr instead. Fixup
the myriad callsites this touches in the process.
2019-08-26 11:48:29 -07:00
swift-ci
abb9f9b8ab
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-26 11:05:16 -07:00
Doug Gregor
f277280093
[Clang importer] Swift over to the abstract generic signature request.
2019-08-26 09:54:20 -07:00
swift-ci
fbe8e56e8b
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-24 10:03:05 -07:00
Slava Pestov
2ff39d227c
AST: Remove some unused LazyResolver usages
2019-08-23 22:13:34 -04:00
swift-ci
3869e829fa
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-20 14:43:57 -07:00
Slava Pestov
62f18a52c0
Sema: Move attribute checking to typeCheckDecl()
2019-08-20 14:47:52 -04:00
swift-ci
d28622d4ac
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-19 21:43:25 -07:00
Slava Pestov
ccae884b2d
ClangImporter: Try harder not to add accessors to their parent context
...
Unfortunately I don't have a test case for this one.
2019-08-19 23:00:57 -04:00
swift-ci
c7422c297d
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-19 10:24:02 -07:00
pschuh
971fb0a005
Refactor away importGlobalAsMethod. ( #26683 )
2019-08-19 10:14:27 -07:00
swift-ci
b6e97a229e
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-15 19:24:21 -07:00
Slava Pestov
1c3ac86796
AST: Banish OptionalTypeKind to ClangImporter.h
...
The only place this was used in Decl.h was the failability kind of a
constructor.
I decided to replace this with a boolean isFailable() bit. Now that
we have isImplicitlyUnwrappedOptional(), it seems to make more sense
to not have ConstructorDecl represent redundant information which
might not be internally consistent.
Most callers of getFailability() actually only care if the result is
failable or not; the few callers that care about it being IUO can
check isImplicitlyUnwrappedOptional() as well.
2019-08-15 18:41:42 -04:00
Slava Pestov
19d283d9dc
AST: Replace ImplicitlyUnwrappedOptionalAttr with Decl::{is,set}ImplicitlyUnwrappedOptional()
2019-08-15 18:41:41 -04:00
swift-ci
4b43e8c608
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-09 18:44:21 -07:00
Thomas Roughton
1c1a6f2164
Import UsingShadowDecls ( #26425 )
2019-08-09 18:26:01 -07:00
swift-ci
380670fd01
Merge remote-tracking branch 'origin/master' into master-rebranch
2019-08-09 17:44:26 -07:00
Slava Pestov
0063f158be
AST: Request-ify synthesis of the implicit destructor
2019-08-09 19:08:47 -04:00
Brent Royal-Gordon
fb20b503ba
Merge branch 'master' into master-rebranch
...
# Conflicts:
# lib/ClangImporter/ClangImporter.cpp
# test/IRGen/builtins.swift
# test/IRGen/enum.sil
# tools/driver/autolink_extract_main.cpp
# utils/build-presets.ini
2019-08-08 17:07:59 -07:00
Slava Pestov
0c5d52d860
AST: Introduce AbstractStorageDecl::get{Parsed,Opaque}Accessor()
...
Also, change visitOpaqueAccessors() to call getOpaqueAccessor() instead of
asserting if the expected accessor does not exist.
2019-08-02 19:34:43 -04:00
Slava Pestov
7a9abe4c2d
Merge pull request #26456 from slavapestov/remove-accessor-methods
...
AST: Remove a few utility methods from AbstractStorageDecl
2019-08-01 21:34:29 -04:00
pschuh
2a2ed0f843
[C++ Interop] Implement lookup within namespace. ( #26439 )
...
Known problems:
- The same namespace in multiple c++ modules will be subtly confused when doing
lookup.
2019-08-01 18:21:08 -07:00
Slava Pestov
64c32c695b
AST: Remove a few utility methods from AbstractStorageDecl
...
Since the return value of getAccessor() depends on mutable state, it
does not make sense in the request evaluator world. Let's begin by
removing some utility methods derived from getAccessor(), replacing
calls to them with calls to getAccessor().
2019-08-01 18:31:58 -04:00
John McCall
765d3383f8
Merge pull request #26047 from pschuh/cpp-2
...
Add importing cxx function decls and the basic requisite AbstractionPattern support.
2019-08-01 13:30:59 -04:00
Slava Pestov
d3f65e7b4b
AST: Remove SubscriptDecl::isSettable()
2019-07-31 21:26:02 -04:00
Slava Pestov
9f319e5d33
ClangImporter: Don't synthesize a getter for unbridged rawValue
...
The getter would just load from the stored property. We don't need a
getter for this.
2019-07-31 14:54:57 -04:00
Slava Pestov
e41760e44f
Sema: Add request to compute if an AccessorDecl is transparent
...
Implicit accessors are sometimes transparent for performance reasons.
Previously this was done in Sema by maybeMarkTransparent(), which would
add a TransparentAttr. Replace this with a request.
2019-07-31 14:54:57 -04:00
Parker Schuh
4a5dae5ed4
Add importing cxx function decls and the basic requisite AbstractionPattern support.
2019-07-30 15:46:47 -07:00
Slava Pestov
d9fd3d3ec2
Merge pull request #26356 from slavapestov/accessors-are-not-members
...
Stop adding accessors to their parent DeclContext
2019-07-30 18:42:12 -04:00