Richard Smith and Jon Ross-Perkins
cef7eb5522
Simplify interface for getting an instruction from a type. ( #3455 )
...
Co-authored-by: Jon Ross-Perkins <jperkins@google.com >
2023-12-08 21:50:33 +00:00
josh11b
e9fc07feee
Abbreviate "representation" -> "repr" ( #3464 )
...
Specifically using these abbreviations:
* InitRepr: "initializing representation"
* ObjectRepr: "object representation"
* ValueRepr: "value representation"
As discussed in [#toolchain
discord](https://discord.com/channels/655572317891461132/655578254970716160/1182086098470572143 )
and now documented in the [list of
abbreviations](https://docs.google.com/document/d/1RRYMm42osyqhI2LyjrjockYCutQ5dOf8Abu50kTrkX0/edit?resourcekey=0-kHyqOESbOHmzZphUbtLrTw#heading=h.pph7i5m5un7q ).
2023-12-06 23:11:47 +00:00
Richard Smith
433d626b04
Rename SemIR::{Base,Field} -> SemIR::{Base,Field}Decl. ( #3452 )
...
Also fix printing of unbound element type to say "element" not "field"
since we're touching all the relevant SemIR output anyway.
2023-12-05 16:37:02 +00:00
Richard Smith
7dffa0c7ec
Support for base: T;, .base, x.base. ( #3450 )
...
No support for `extend base` yet, in an effort to minimize collisions
with #3412 .
2023-12-04 22:45:59 +00:00
Richard Smith
ca53c18ddc
Rename MemberIndex -> ElementIndex, ClassFieldAccess -> ClassElementAccess, UnboundFieldType -> UnboundElementType. ( #3446 )
...
In preparation for base class support, where these types will be used
for bases as well as fields.
As discussed [on
discord](https://discord.com/channels/655572317891461132/963846118964350976/1180267686316478575 ).
2023-12-02 00:29:48 +00:00
Jon Ross-Perkins
0db63ff17a
Abbreviate Integer and FloatingPoint ( #3435 )
...
I was suggesting this because `FloatingPoint` is pretty long. `int` and
`float` should be familiar abbreviations. `unsigned` should be familiar
to developers too, but `UnsignedInt` still feels usefully clearer for
the additional chars.
2023-11-29 23:29:48 +00:00
Jon Ross-Perkins and Richard Smith
0d618b1278
Tidy up lint issues. ( #3429 )
...
These are manual fixes; mostly from clang-tidy, some from clangd (which
notes unused includes).
In typed_insts, adding inlline due to misc-definitions-in-headers. Per
discussion, clang-tidy is wrong, but inline silences it.
For parameter name skew in definition versus declaration, I'm just using
the name from the definition.
---------
Co-authored-by: Richard Smith <richard@metafoo.co.uk >
2023-11-29 20:41:53 +00:00
josh11b
c89c452579
Abbreviate "Reference" -> "Ref", "Dereference" -> "Deref" ( #3425 )
...
Part of switching to the [abbreviations we've decided to
use](https://docs.google.com/document/d/1RRYMm42osyqhI2LyjrjockYCutQ5dOf8Abu50kTrkX0/edit?resourcekey=0-kHyqOESbOHmzZphUbtLrTw#heading=h.pph7i5m5un7q ).
File renames will be done separately.
2023-11-27 23:30:31 +00:00
josh11b
5020fdb3be
Use abbreviation "decl" instead of "declaration" ( #3382 )
...
Part of switching to the [abbreviations we've decided to
use](https://docs.google.com/document/d/1RRYMm42osyqhI2LyjrjockYCutQ5dOf8Abu50kTrkX0/edit?resourcekey=0-kHyqOESbOHmzZphUbtLrTw#heading=h.pph7i5m5un7q ).
I will rename files in a follow-up PR.
2023-11-10 10:43:25 +00:00
josh11b
11ca083855
Use abbreviation "expr" instead of "expression" ( #3375 )
...
Part of switching to the [abbreviations we've decided to
use](https://docs.google.com/document/d/1RRYMm42osyqhI2LyjrjockYCutQ5dOf8Abu50kTrkX0/edit?resourcekey=0-kHyqOESbOHmzZphUbtLrTw#heading=h.pph7i5m5un7q ).
I will rename files in a follow-up PR.
2023-11-10 01:32:32 +00:00
Richard Smith
6d5e62974c
Add SemIR instruction to track that a conversion was performed. ( #3363 )
...
Instead of ad-hoc conversion tracking on some kinds of nodes that
conversion creates, consolidate tracking into a single node kind. This
frees up an operand on `Init` instructions that can be used to store the
destination.
2023-11-09 23:58:54 +00:00
Richard Smith
71aa4a45be
Distinguish between name IDs and string IDs in the type system. ( #3341 )
...
Add a `NameId` that is effectively just a wrapper around a `StringId`,
with
some additional predefined values for names that don't correspond to
strings, such as the name of `self` or the function's return slot.
2023-11-09 16:51:36 +00:00
josh11b
f9fb27bdfc
Split handlers for aggregates out of lower/handle.cpp into its own file ( #3368 )
2023-11-06 22:20:16 +00:00