Richard Smith
|
3bee8932a9
Rework name lookup to handle non-lexical scoping. (#3354)
|
2 years ago |
Richard Smith
|
184eafd521
Add a separate store for computed constant values. (#3362)
|
2 years ago |
Richard Smith
|
545a5b3679
Support initializing a class from a struct. (#3358)
|
2 years ago |
josh11b
|
737162cc8f
Rename sem_ir files node->inst, follow up to #3355 (#3361)
|
2 years ago |
Jon Ross-Perkins
|
3401eed8d8
Split IdentifierId and StringLiteralId from StringId (#3352)
|
2 years ago |
josh11b
|
7edfd8e02a
Rename `SemIR::Node` to `SemIR::Inst` (#3355)
|
2 years ago |
Richard Smith
|
428d11323a
Directly convert from an initializer to a value where possible. (#3306)
|
2 years ago |
Richard Smith
|
57f3c553b8
Support for type-checking and lowering method calls. (#3343)
|
2 years ago |
Richard Smith
|
04ae5a0531
Support for functions with a `self` parameter. (#3338)
|
2 years ago |
Richard Smith
|
ab575cf32a
Support for member access into classes. (#3335)
|
2 years ago |
Richard Smith
|
620408b999
Basic lowering support for classes. (#3334)
|
2 years ago |
Richard Smith
|
7f2f4bec4f
Add a `Field` node for fields in a class. (#3332)
|
2 years ago |
Jon Ross-Perkins
|
e6634d240f
Make SemIR::File access more terse. (#3331)
|
2 years ago |
Jon Ross-Perkins
|
1d6298290f
Add more value store types to File. (#3317)
|
2 years ago |
Richard Smith
|
7d9340880e
Separate `ClassType` from `ClassDeclaration`. (#3329)
|
2 years ago |
Richard Smith
|
85e9642d18
Lower types in the order they were completed. (#3324)
|
2 years ago |
Jon Ross-Perkins
|
7e9d644e1f
Switch File functions, classes, and types to ValueStores (#3316)
|
2 years ago |
Richard Smith
|
a46e7dd967
Remove most of the metaprogramming in node.h in favor of listing all the members in the typed node structs. (#3310)
|
2 years ago |
Jon Ross-Perkins
|
1b55ad86dd
Extend SharedValueStores to SemIR (#3313)
|
2 years ago |
Jon Ross-Perkins
|
d13f76e001
Add value store to be shared across compile stages. (#3311)
|
2 years ago |
Richard Smith
|
b01dfb3f93
Support for class definitions with static member functions. (#3305)
|
2 years ago |
Richard Smith
|
69353ed271
Basic support for incomplete types. (#3302)
|
2 years ago |
Richard Smith
|
e4caf7d604
Compute and cache the value representation of a type when it becomes complete. (#3271)
|
2 years ago |
Richard Smith
|
4e64b1948d
Bare-bones support for forward-declared classes. (#3294)
|
2 years ago |
josh11b
|
8d0831f431
Made function and namespace nodes typed to remove a crash (#3285)
|
2 years ago |
Richard Smith
|
8779fcd77c
Switch from `SemIR::NodeKind::Foo` to `SemIR::Foo::Kind` wherever possible. (#3283)
|
2 years ago |
Richard Smith
|
c7a9e29a89
Add typed nodes to SemIR. (#3280)
|
2 years ago |
Richard Smith
|
5ccee62918
Add `name_reference` SemIR node for references to names. (#3260)
|
2 years ago |
Richard Smith
|
fea6cf88fc
Unify initialization and conversion logic (#3255)
|
2 years ago |
Richard Smith
|
491fa1bdd5
Place the computation of the destination of an initialization into the return slot. (#3252)
|
2 years ago |