Commit Graph

3980 Commits

Author SHA1 Message Date
Bob Wilson
78b28243ff Merge remote-tracking branch 'origin/master' into master-next 2017-01-03 14:22:59 -08:00
kitasuke
d433428402 Define BUILTIN_TYPE_NAME_PREFIX constant in Strings.h
Delete redundant comment

Use upper case for constant
2017-01-02 00:40:45 +09:00
kitasuke
52b4ae461b Define BUILTIN_TYPE_NAME constants in Strings.h 2018-03-18 17:37:21 +09:00
kitasuke
4b9a685d13 Merge branch 'master' into replace-of-builtin-string-with-constant 2018-03-18 16:53:34 +09:00
kitasuke
79791a497e Define BUILTIN_NAME constant in Strings.h 2018-03-04 15:44:28 +09:00
Xi Ge
94851e25d7 [RangeInfo] Report the innermost decl context for the range under selection. (#6448) 2016-12-21 16:50:39 -08:00
Xi Ge
2312ccecac [RangeInfo] When reporting referenced decls in a given range, exclude those references accessed as members. 2016-12-20 17:11:22 -08:00
Xi Ge
14f968a5ed SourceEntityWalker: Add a parameter to visitDeclReference() describing the kind of the reference under visit. NFC 2016-12-20 14:30:02 -08:00
Xi Ge
dbefa60605 [RangeInfo] Report the type the selected code should be evaluated to. 2016-12-20 11:37:39 -08:00
Xi Ge
ba930deff2 [RangeInfo] When reporting referenced decls, also report the types of these references. 2016-12-19 17:16:17 -08:00
Xi Ge
87a4b8a07e [RangeInfo] When reporting referenced decls in a given range, exclude those whose decl context is out of the current file. 2016-12-19 16:01:44 -08:00
Xi Ge
eb80cdd8ce [RangeInfo] Report declared and referenced decls in a given range. 2016-12-19 13:27:20 -08:00
Slava Pestov
fb0f372e94 AST: Move mapType{In,OutOf}Context() out of ArchetypeBuilder and clean up headers
- The DeclContext versions of these methods have equivalents
  on the DeclContext class; use them instead.

- The GenericEnvironment versions of these methods are now
  static methods on the GenericEnvironment class. Note that
  these are not made redundant by the instance methods on
  GenericEnvironment, since the static methods can also be
  called with a null GenericEnvironment, in which case they
  just assert that the type is fully concrete.

- Remove some unnecessary #includes of ArchetypeBuilder.h
  and GenericEnvironment.h. Now changes to these files
  result in a lot less recompilation.
2016-12-18 19:55:41 -08:00
Slava Pestov
82e9015335 AST: Use the new getMemberSubstitutions() in a few places 2016-12-17 16:28:18 -08:00
Slava Pestov
3989aea9ae AST: Clean up getMemberSubstitutions() and friends
Rename the old getMemberSubstitutions() to getContextSubstitutions()
and add a new getMemberSubstitutions() that takes a ValueDecl, rather
than the member's DeclContext.

This new method forwards generic parameters if the member is a generic
function.
2016-12-17 16:28:18 -08:00
practicalswift
38be6125e5 [gardening] C++ gardening: Terminate namespaces, fix argument names, ...
Changes:
* Terminate all namespaces with the correct closing comment.
* Make sure argument names in comments match the corresponding parameter name.
* Remove redundant get() calls on smart pointers.
* Prefer using "override" or "final" instead of "virtual". Remove "virtual" where appropriate.
2016-12-17 00:32:42 +01:00
Slava Pestov
2c6b9f71b6 AST: Change TypeAliasDecls to store an interface type as their underlying type
- TypeAliasDecl::getAliasType() is gone. Now, getDeclaredInterfaceType()
  always returns the NameAliasType.

- NameAliasTypes now always desugar to the underlying type as an
  interface type.

- The NameAliasType of a generic type alias no longer desugars to an
  UnboundGenericType; call TypeAliasDecl::getUnboundGenericType() if you
  want that.

- The "lazy mapTypeOutOfContext()" hack for deserialized TypeAliasDecls
  is gone.

- The process of constructing a synthesized TypeAliasDecl is much simpler
  now; instead of calling computeType(), setInterfaceType() and then
  setting the recursive properties in the right order, just call
  setUnderlyingType(), passing it either an interface type or a
  contextual type.

  In particular, many places weren't setting the recursive properties,
  such as the ClangImporter and deserialization. This meant that queries
  such as hasArchetype() or hasTypeParameter() would return incorrect
  results on NameAliasTypes, which caused various subtle problems.

- Finally, add some more tests for generic typealiases, most of which
  fail because they're still pretty broken.
2016-12-15 22:46:15 -08:00
Slava Pestov
a384b2a677 Don't call VarDecl::getType() on deserialized VarDecls 2016-12-15 22:46:15 -08:00
Bob Wilson
deddf19aae Merge remote-tracking branch 'origin/master' into master-next 2016-12-13 10:23:03 -08:00
practicalswift
8962c8819f Merge pull request #6139 from practicalswift/remove-never-read-variables
[gardening] Remove never-read variables + tighten scope.
2016-12-12 13:32:36 +01:00
swift-ci
2383db8b21 Merge pull request #6028 from hughbe/ide-msvc 2016-12-10 12:11:42 -08:00
Erik Eckstein
2e2c8da5d4 Mangling: handle new mangling suffix in type reconstruction 2016-12-09 09:05:17 -08:00
Erik Eckstein
11d8207d0e Mangling: Select the correct mangling scheme for the re-mangler in the compiler 2016-12-09 09:05:15 -08:00
Hugh Bellamy
d8fbaa01eb Fix errors and warnings building swift/IDE on Windows using MSVC 2016-12-09 10:08:00 +00:00
practicalswift
e29ea7d798 [gardening] Tighten scope for bool found. Remove never-read uint64_t index and bool is_in_class. 2016-12-08 13:36:18 +01:00
Doug Gregor
ea067c0346 [AST] Eliminate ArchetypeType::NestedType.
Now that we no longer distinguish outer archetypes from inner
archetypes, we can replace NestedType with just Type.
2016-12-07 14:27:49 -08:00
Michael Gottesman
59c6a64f5a [gardening] 0 => nullptr. Fixed with clang-tidy. 2016-12-06 23:14:13 -08:00
Doug Gregor
38671e2771 [AST] Hide DeclContext::getAsGenericTypeOrGenericTypeExtensionContext().
This method gets the GenericTypeDecl for a typealias, nominal type, or
extension thereof. While the result is typed as GenericTypeDecl, it's
not always generic, so rename it accordingly.

An audit of the callers illustrated that they should be using
different entrypoints anyway, so fix all of the callers and make this
function private.
2016-12-05 22:42:03 -08:00
Bob Wilson
13da3fa8b1 Merge remote-tracking branch 'origin/master' into master-next 2016-12-04 18:16:09 -08:00
swift-ci
eeae9ccb8e Merge pull request #6013 from nkcsgexi/decl-name-viewer 2016-12-02 10:42:22 -08:00
Xi Ge
3b68ca2936 [IDE][Utils] Elevate a decl name viewer utility from swift-api-digester.
This utility parses a given StringRef to a base name and several argument
names and provides a convenient view on them.
2016-12-01 16:29:08 -08:00
Slava Pestov
9caaad442b AST: Don't call hasType()/getType()/setType() on TypeDecls 2016-12-01 13:00:19 -08:00
Slava Pestov
2d83a79c2c AST: Remove TypeDecl::getDeclaredType()
A pointless use of polymorphism -- the result values are not
interchangeable in any practical sense:

- For GenericTypeParamDecls, this returned getDeclaredInterfaceType(),
  which is an interface type.

- For AssociatedTypeDecls, this returned the sugared AssociatedTypeType,
  which desugars to an archetype.

- For TypeAliasDecls, this returned TypeAliasDecl::getAliasType(),
  which desugars to a type containing archetypes.

- For NominalTypeDecls, this returned NominalTypeDecl::getDeclaredType(),
  which is the unbound generic type, a special case used for inferring
  generic arguments when they're not written in source.
2016-12-01 13:00:18 -08:00
Slava Pestov
8bdbe774e0 AST: Don't call hasType()/getType()/setType() on SubscriptDecls 2016-12-01 13:00:17 -08:00
Slava Pestov
dfb035289a IDE: Remove some redundant calls to getDesugaredType() 2016-12-01 13:00:17 -08:00
Doug Gregor
95f1aaf4d1 [Archetype builder] Separate potential archetypes from *specific* archetypes.
Stop recording specific archetypes anywhere in
PotentialArchetype. Instead, use a GenericEnvironment to record/query
the archetype that corresponds to that PotentialArchetype, making it
possible to use the same archetype builder (and its potential
archetypes) to build multiple generic environments.
2016-11-30 15:44:13 -08:00
Slava Pestov
087fe173eb IDE: Rework TypeReconstruction to not rely on PolymorphicFunctionType 2016-11-29 03:05:33 -07:00
Slava Pestov
7b59e75d34 IDE: hasType() => hasInterfaceType() 2016-11-29 03:05:31 -07:00
Slava Pestov
6c63514bb4 IDE: getType() => getInterfaceType() 2016-11-29 03:05:26 -07:00
Slava Pestov
69e7cca64f AST: Remove ConstructorDecl::getResultType() 2016-11-29 03:05:22 -07:00
practicalswift
0b34f20318 Merge pull request #5962 from practicalswift/add-missing-license-headers
[gardening] Add missing licensing headers.
2016-11-29 09:40:39 +01:00
practicalswift
5bc293cc09 [gardening] Add missing licensing headers. 2016-11-28 21:40:06 +01:00
Doug Gregor
e656ca1dbc [AST] Compress ArchetypeType's storage slightly.
The "associated type" and "name" fields are mutually independent,
because one can recover the name from the associated type.
2016-11-28 11:25:45 -08:00
Graydon Hoare
7c1dc18b64 Revert "Give all declarations an explicit interface type" 2016-11-24 09:55:27 -08:00
Slava Pestov
6db43138fa AST: Remove ConstructorDecl::getResultType() 2016-11-24 02:35:30 -05:00
practicalswift
2fe4254cb7 Merge pull request #5878 from practicalswift/https-swift-org
[gardening] Use the correct base URL (https://swift.org) in references to the Swift website
2016-11-22 09:17:57 +01:00
swift-ci
597b6b4254 Merge pull request #5807 from benlangmuir/cc-invalid-op 2016-11-20 11:36:11 -08:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Slava Pestov
2e901cb4f9 AST: Clean up PrintOptions a bit 2016-11-19 22:53:53 -08:00
David Farler
f450f0ccdf Revert "Preserve whitespace and comments during lexing as Trivia"
This reverts commit d6e2b58382.
2016-11-18 13:23:31 -08:00