Existing uses use a "globalvar" kind. Add a new "rootinit" kind which
will be used for root initializers (i.e. init methods of structs, enums,
and root classes).
Swift SVN r10772
decl context of the type alias.
This implements <rdar://problem/15290346> "typealias sugar needs to be
mangled into debug info mangled type names".
Swift SVN r10749
a FuncDecl. This makes it much more straight-forward for SIL passes to
introduce a new one - without doing name lookup in the builtin module!
Swift SVN r10694
This code never belonged in docs/ in the first place. The other
problem was that they'd drift out-of-date, and regressions that were
only going to be caught by this code could slip into the compiler,
e.g. rdar://problem/15525229
Swift SVN r10637
This allows expressions such as ".foo" and ".foo(1)" to refer to
static variables and static methods, respectively, as well as enum
cases.
To get here, rework the parsing of delayed identifier expressions a
bit, so that the argument itself is part of the delayed argument
expression rather than a separate call expression. This simplifies
both the handling of patterns of this form and the type checker, which
can now user simpler constraints.
If we really want to support (.foo)(1), we can make that work, but it
seems unnecessary and perhaps confusing.
Swift SVN r10626
We have lots of documents that are intentionally not in any toctree;
we were just getting a massive pile of useless warnings about them.
Had there been a valid warning in there we'd have missed it anyhow.
Swift SVN r10607
Instead of hardcoding Builtin.Word to be an alias for Builtin.Int64, make it its own type of abstract pointer width.
- Change BuiltinIntegerType's width representation to accommodate abstract widths.
- In the AST and in SIL, store values of the types as the greatest supported size for the abstract width (64 bits for a pointer).
- Add some type safety to the ([sz]ext|trunc)(OrBitCast)? builtins that they're used appropriately given the upper and lower bounds of the abstract sizes they're working with.
- Now that Builtin.Word is a distinct type, give it its own mangling.
- In IRGen, lower pointer-sized BuiltinIntegerType appropriately for the target, and truncate lowered SIL values if necessary.
Fixes <rdar://problem/15367913>.
Swift SVN r10467
(the same way alloc_box returns two) instead of returning a tuple.
This eliminates a ton of tuple_extract instructions, which just
bloat the generated SIL. This resolves rdar://15378135.
Swift SVN r10416
Trailing closures get exceptions from the "required keyword for selector style argument" and "positional parameters must come before keyword parameters" rules.
Swift SVN r10415
used only for debug info and within the _Tt namespace.
The DWARF output created by swift is intentionally flat, therefore
archetypes need to be emitted with their DeclContext. While increasing the
length of the mangled names in some cases (substitutions help a lot) it
has the advantage of making names completely self-contained.
There is a lengthy thread on swift-debugger discussing this change.
Swift SVN r10348
Define "named application" using AST peepholes instead of having different grammar productions; this is better for QoI and more flexible. For completeness, describe how named application lookup works with non-function decls.
Swift SVN r10332
Some people might object to the way I've defined rvalue and lvalue,
but it just seemed to fall out of things. I started by talking about
writable and read-only data, and then read-only lvalues, but it was
complicated until all those distinctions fell away and left me with
the basic rule: rvalues can't be mutated and lvalues can.
If theoreticians object, we can find another way to phrase it.
Swift SVN r10010
Remove confusing references to old dot-paren syntax. Move the discussion of the use of unsugared compound names after describing their idiomatic sugared uses.
Swift SVN r9913