Richard Smith
0a1abe9f64
Clean up some uses of the node stack. ( #3512 )
...
Also minor cleanups for the stack itself.
2023-12-14 20:57:03 +00:00
Richard Smith
fbb4ecf319
Remove SelfParam, add an AddrPattern instead. ( #3506 )
...
This is intended to make the representation of a `self` pattern be more
similar to other patterns.
2023-12-14 20:53:51 +00:00
Jacob Schneider
6419568142
Fully underline parse nodes in diagnostics. ( #3442 )
...
Another incremental change to diagnostic formatting. I simply recurse
over all the tokens in the subtree of a parse node and construct a
`DiagnosticLocation` that covers all of the tokens.
I believe it's nicer for the user to be directed at the entire chunk of
source where the error is occurring rather then just pointing at the
bracketing/terminator tokens, but let me know if you all agree.
2023-12-13 18:43:19 +00:00
Geoff Romer and Richard Smith
6e65a30b5d
Rename ParamList to TuplePattern ( #3479 )
...
Co-authored-by: Richard Smith <richard@metafoo.co.uk >
2023-12-08 23:35:47 +00:00
Geoff Romer and Richard Smith
39750b9925
Parse support for tuple patterns in var and let ( #3448 )
...
Co-authored-by: Richard Smith <richard@metafoo.co.uk >
2023-12-08 01:16:03 +00:00
Richard Smith
18d7ba9542
Factor out common pattern of trying to complete a type then falling back to an error type if that fails. ( #3454 )
...
As requested in [review of
#3450 ](https://github.com/carbon-language/carbon-lang/pull/3450#discussion_r1414220143 ).
2023-12-07 01:53:30 +00:00
josh11b and Jon Ross-Perkins
fada410559
Support declaration modifier keywords ( #3412 )
...
Co-authored-by: Jon Ross-Perkins <jperkins@google.com >
2023-12-05 22:45:57 +00:00
Richard Smith
22dff46ed2
Remove support for disambiguating a stringified type as being a type. ( #3456 )
...
Most of the calls to `StringifyType` already passed `true` for
`in_type_context`. Checking the rest, I found that every one of them was
already sufficiently clear that they were printing a type, or could be
made so with a very small change to the diagnostic text.
2023-12-05 17:34:04 +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
Geoff Romer
b8d4e2f41b
Binding pattern naming cleanup ( #3410 )
...
- Rename `PatternBinding` to `BindingPattern`.
- Use `BindingPattern` rather than `Pattern` in the names of
binding-pattern-specific parse states.
2023-12-01 21:36:51 +00:00