mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-06 10:54:49 +01:00
Add support for 'package' in expressions. (#3445)
This creates a namespace for `package` scope. It looks like names of class_decls in namespaces lead to an unexpected instref. This is already true, as best as I can tell. I'm not sure if there's a preferred approach to address that, so I've left a TODO for now.
This commit is contained in:
@@ -15,6 +15,7 @@ fn Bar(a: i32, a: i32) {}
|
||||
// CHECK:STDOUT: --- fail_param_name_conflict.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Bar = %Bar}
|
||||
// CHECK:STDOUT: %Bar: <function> = fn_decl @Bar
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -11,6 +11,7 @@ fn Baz() {}
|
||||
// CHECK:STDOUT: --- order.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo, .Bar = %Bar, .Baz = %Baz}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: %Bar: <function> = fn_decl @Bar
|
||||
// CHECK:STDOUT: %Baz: <function> = fn_decl @Baz
|
||||
|
||||
@@ -9,6 +9,7 @@ fn Foo(a: i32) {}
|
||||
// CHECK:STDOUT: --- params_one.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -9,6 +9,7 @@ fn Foo(a: i32,) {}
|
||||
// CHECK:STDOUT: --- params_one_comma.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -9,6 +9,7 @@ fn Foo(a: i32, b: i32) {}
|
||||
// CHECK:STDOUT: --- params_two.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -9,6 +9,7 @@ fn Foo(a: i32, b: i32,) {}
|
||||
// CHECK:STDOUT: --- params_two_comma.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -9,6 +9,7 @@ fn Foo() {}
|
||||
// CHECK:STDOUT: --- params_zero.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -10,6 +10,7 @@ fn Bar(a: i32) {}
|
||||
// CHECK:STDOUT: --- same_param_name.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace {.Foo = %Foo, .Bar = %Bar}
|
||||
// CHECK:STDOUT: %Foo: <function> = fn_decl @Foo
|
||||
// CHECK:STDOUT: %Bar: <function> = fn_decl @Bar
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Reference in New Issue
Block a user