Commit Graph

93 Commits

Author SHA1 Message Date
Slava Pestov
0acf3ac8d9 SIL: Remove is_nonnull instruction 2017-10-13 17:38:32 -07:00
Slava Pestov
e806b6248d SIL: Remove dynamic_method instruction 2017-10-04 03:53:16 -07:00
Brian Heim
c95598db55 Vim plugin: expand highlighting coverage (#11444)
* vim-syntax: fix highlighting for indirect case/enum

without skipwhite, `indirect enum` never gets highlighted. this
commit also adds the `indirect case` multiword keyword.

* vim-syntax: allow whitespace before type parameters

Added skipwhite to multiple match groups so that whitespace can be used
before type parameters (`Type <Param>`). This matches Xcode's behavior.

* vim-syntax: update last change line

* vim-syntax: remove indirect case from multiword type def group
2017-09-19 10:06:03 -04:00
Max Moiseev
793b86c056 [vim] Add 'open' as a modifier 2017-09-13 14:06:33 -07:00
Brian Heim
3ac7609b49 Vim: conform highlighting of preprocessor macros (#11391)
* vim-syntax: highlight #function preproc macro

* vim-syntax: highlight preproc macros in string interpolation

* vim syntax: make string interpolation a matchgroup

Now, only the opening \( and ) are highlighted, and everything inside retains its coloring
2017-08-09 16:39:45 -07:00
Saleem Abdulrasool
d45c575f8b vim: update syntax
Properly support `weak` and `indirect enum` keywords.
2017-07-19 15:29:28 -07:00
Andrew Trick
4db2a46cff Add SIL instruction: open_existential_box_value.
This has the same semantics as open_existential_box, but returns an object value
instead of an address.

This is used in SIL opaque values mode. Attempting to reuse open_existential_box
in this mode causes SIL type inconsistencies that are too difficult to work
around. Adding this instruction allows for consistent handling of opaque values.

The original versions of several of these currently redundant instructions will
be removed once the SIL representation stabilizes.
2017-07-17 23:46:41 -07:00
Andrew Trick
f657ad2d3a Rename *ExistentialOpaque instructions to *ExistentialValue.
These instructions have the same semantics as the *ExistentialAddr instructions
but operate directly on the existential value, not its address.

This is in preparation for adding ExistentialBoxValue instructions.
The previous name would cause impossible confusion with "opaque existentials"
and "opaque existential boxes".
2017-07-17 23:46:41 -07:00
Saleem Abdulrasool
7b36b97d2d vim: remove double handling for var, let
`var` and `let` were being handled as a keyword and a variable
definition keyword.  Avoid the first match.
2017-06-09 22:52:28 -07:00
Saleem Abdulrasool
66a249ebdc vim: improve syntax highlighting for inout parameters
The `inout` keyword was not being recognised previously.  Recognise it
as a modifier for a type parameter.  It can only be used as a type
modifier.
2017-06-09 22:50:27 -07:00
Joe Shajrawi
0d0cac357a retain_value_addr and release_value_addr SIL instructions: take as an input an address, load the value inside it and call retain_value and release_value respectively 2017-04-30 10:23:55 -07:00
Saleem Abdulrasool
46ecc9a558 vim: add didSet willSet keywords 2017-04-17 21:08:08 -07:00
Arnold Schwaighofer
b167b4475d Add SIL and IRGen support for a ConstantStringLiteral instruction
This supports a utf8 or utf16 encoding.

rdar://30545013
2017-04-11 08:43:47 -07:00
Joe Shajrawi
33b0cf653f Rename unconditional_checked_cast_opaque to unconditional_checked_cast_value 2017-03-07 18:53:52 -08:00
Joe Shajrawi
1f626304f1 Add support for conditional checked cast instruction for opaque value types + SILGen support for it 2017-03-06 16:35:27 -08:00
Joe Shajrawi
16b6cb5e1d Support for deinit of opaque existentials: deinit_existential_opaque instruction + SILGen support 2017-02-27 14:46:43 -08:00
Joe Shajrawi
ec1e3ee20e Add support for unconditional checked cast instruction for opaque value types + SILGen support for it 2017-02-22 16:35:46 -08:00
Joe Shajrawi
1e521c453b Add support for Init Existentials for opaque value types 2017-02-20 16:40:02 -08:00
Joe Shajrawi
c478828de7 Support for Open Existentials that do no take an address 2017-02-09 11:25:34 -08:00
Saleem Abdulrasool
041bc95c0a vim: remove typealias from keywords
It is in the tyep definition list, do not treat it as a keyword.
2016-08-24 21:02:35 -07:00
Robert Widmann
4e5665a8bd [SE-0096] Remove support for dynamicType member 2016-07-30 03:24:05 -07:00
Dmitri Gribenko
ac489860a1 vim: add support for 'fileprivate' 2016-07-28 18:30:35 -07:00
Luke Larson
74e0498015 Revert "Update master to build with Xcode 8 beta 3, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs."
This reverts commit 62d1fa760c.
2016-07-19 15:18:17 -07:00
Mishal Shah
62d1fa760c Update master to build with Xcode 8 beta 3, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs. 2016-07-19 22:31:34 +02:00
Andrew Trick
2b732d0af5 Introduce Builtin.bindMemory and SIL bind_memory. (#3573)
Required for SE-0107: UnsafeRawPointer.
2016-07-18 13:18:03 -07:00
raimon
65ae9cc418 [vim] Support highlighting 'MARK' in comments 2016-07-13 22:00:52 +09:00
tokorom
f7867cedda [vim] highlight fallthrough 2016-06-05 15:15:08 +09:00
Saleem Abdulrasool
6e155f9dfd vim: highlight "indirect case" 2016-06-04 11:36:32 -07:00
Saleem Abdulrasool
799ad98b21 vim: highlight #file, #line 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
766c56f407 vim: highlight more delimiters appropriately 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
51a2df701a vim: highlight is casts 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
e8c2ad4da4 vim: remove unnecessary match duplication 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
c0a8d3f3de vim: correct categorisation of keywords
Remove modifiers from the keywords into the modifiers section.  Remove type
specifiers from the keyword group.
2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
00d852d8fc vim: move remaining keywords 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
63e67590c8 vim: re-organise import keyword, component highlighting 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
91ec0e3069 vim: remove duplicate swiftFuncName
This was duplicating the swiftTypeName.  However, the swiftTypeName is more
generically named and applies to both types and functions both in structure and
usage.  Retain the single definition.
2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
9a326fa50e vim: move the declaration keywords 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
3dab5cd990 vim: drop new keyword, it is obsolete 2016-06-04 11:35:54 -07:00
Saleem Abdulrasool
844a7d6381 vim: do not highlight keywords in backticks
Swift permits the use of reserved keywords as identifiers.  Reflect that in the
syntax highlighting.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
4dab467654 vim: highlight reethrows as a modifier 2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
0d600fdbf1 vim: highlight attributed function declarations
Check for a type declaration following an attribute.  This corrects the
highlighting of function types such as:

  @noescape (Wrapped) throws -> T
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
a756131efe vim: more clever highlighting of generics
Perform more clever highlighting of generic clauses.  The archetype identifier
is now identified as an identifier, the archtetype type as a type, and the
constraints (where) as special syntax.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
5fd99aec6a vim: not all function keywords get generalised
We currently only do init<T>.  Only permit generalization of init, not deinit,
subscript.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
ba4a17c1d2 vim: differentiate between a type and a typename
A typename is a name for a type being defined.  A type may contain optionality
as well.  This ensures that we do not accidentally highlight an invalid name
such as `InvalidName?` as a type name.

Fix the fact that I had previously created a special group for the array.  An
array is a type, so it should be part of the same group.
2016-05-30 21:50:42 -07:00
Saleem Abdulrasool
314699e83c vim: highlight autoreleasepool 2016-05-28 21:35:55 -07:00
Saleem Abdulrasool
6435ba6748 vim: highlight the throws modifier
Highlight the `throws` keyword which indicates a function may throw an
exception.
2016-05-28 21:26:06 -07:00
Saleem Abdulrasool
156bfe8e11 vim: add throw keyword 2016-05-28 21:25:10 -07:00
Saleem Abdulrasool
6b8eae03c3 vim: consider optionality as part of the type
Include the optionality of a type as part of the type name.
2016-05-28 21:24:19 -07:00
Saleem Abdulrasool
980b408882 vim: remove destructor keyword for deinit
This fixes the highlighting for the "destructor" in swift.
2016-05-28 21:10:28 -07:00
Saleem Abdulrasool
bfd78da590 vim: highlight dynamic modifier
Treat `dynamic` as a modifier for functions.
2016-05-28 21:03:04 -07:00