mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Improve SemIR naming of import_refs (#4824)
Changes the name of SemIR `import_ref`s to use the format `<package>.<entity>`. <table> <tr><th>Before</th><th>After</th></tr> <tr> <td><code>%import_ref.05a: type</code></td> <td><code>%Main.D: type</code></td> </tr> <tr> <td><code>%import_ref.8f2: <witness></code></td> <td><code>%Main.import_ref.8f2: <witness></code></td> </tr> </table> * [Discord discussion in #toolchain](https://discord.com/channels/655572317891461132/655578254970716160/1330253540999827577) * Closes #4769
This commit is contained in:
+5
-5
@@ -62,7 +62,7 @@ var f: () = F();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref: %F.type = import_ref Main//base, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: %Main.F: %F.type = import_ref Main//base, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
@@ -70,7 +70,7 @@ var f: () = F();
|
||||
// CHECK:STDOUT: .F = %F
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: %F: %F.type = export F, imports.%import_ref [template = constants.%F]
|
||||
// CHECK:STDOUT: %F: %F.type = export F, imports.%Main.F [template = constants.%F]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @F() [from "base.carbon"];
|
||||
@@ -84,12 +84,12 @@ var f: () = F();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref: %F.type = import_ref Main//export, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: %Main.F: %F.type = import_ref Main//export, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .F = imports.%import_ref
|
||||
// CHECK:STDOUT: .F = imports.%Main.F
|
||||
// CHECK:STDOUT: .f = %f
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -109,7 +109,7 @@ var f: () = F();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%import_ref [template = constants.%F]
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%Main.F [template = constants.%F]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.ref()
|
||||
// CHECK:STDOUT: assign file.%f.var, %F.call
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
@@ -106,12 +106,12 @@ extern library "basic" fn F();
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref: %F.type = import_ref Main//basic, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: %Main.F: %F.type = import_ref Main//basic, F, loaded [template = constants.%F]
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .F = imports.%import_ref
|
||||
// CHECK:STDOUT: .F = imports.%Main.F
|
||||
// CHECK:STDOUT: .x = %x
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -131,7 +131,7 @@ extern library "basic" fn F();
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @__global_init() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%import_ref [template = constants.%F]
|
||||
// CHECK:STDOUT: %F.ref: %F.type = name_ref F, imports.%Main.F [template = constants.%F]
|
||||
// CHECK:STDOUT: %F.call: init %empty_tuple.type = call %F.ref()
|
||||
// CHECK:STDOUT: assign file.%x.var, %F.call
|
||||
// CHECK:STDOUT: return
|
||||
|
||||
+2
-2
@@ -271,12 +271,12 @@ extern library "extern_library_owner" fn F() {}
|
||||
// CHECK:STDOUT: --- fail_extern_library_collision.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.bde = import_ref Main//extern_library, F, unloaded
|
||||
// CHECK:STDOUT: %Main.F = import_ref Main//extern_library, F, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .F = imports.%import_ref.bde
|
||||
// CHECK:STDOUT: .F = imports.%Main.F
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
// CHECK:STDOUT: }
|
||||
|
||||
Vendored
+22
-22
@@ -198,26 +198,26 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.f42 = import_ref Main//incomplete_return, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.e8f = import_ref Main//incomplete_return, D, unloaded
|
||||
// CHECK:STDOUT: %import_ref.c3e: %ReturnCUnused.type = import_ref Main//incomplete_return, ReturnCUnused, loaded [template = constants.%ReturnCUnused]
|
||||
// CHECK:STDOUT: %import_ref.073: %ReturnCUsed.type = import_ref Main//incomplete_return, ReturnCUsed, loaded [template = constants.%ReturnCUsed]
|
||||
// CHECK:STDOUT: %import_ref.c58: %ReturnDUnused.type = import_ref Main//incomplete_return, ReturnDUnused, loaded [template = constants.%ReturnDUnused]
|
||||
// CHECK:STDOUT: %import_ref.e1f: %ReturnDUsed.type = import_ref Main//incomplete_return, ReturnDUsed, loaded [template = constants.%ReturnDUsed]
|
||||
// CHECK:STDOUT: %import_ref.2ce = import_ref Main//incomplete_return, Call, unloaded
|
||||
// CHECK:STDOUT: %import_ref.8f2: <witness> = import_ref Main//incomplete_return, loc37_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %import_ref.cab = import_ref Main//incomplete_return, inst16 [no loc], unloaded
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//incomplete_return, C, unloaded
|
||||
// CHECK:STDOUT: %Main.D = import_ref Main//incomplete_return, D, unloaded
|
||||
// CHECK:STDOUT: %Main.ReturnCUnused: %ReturnCUnused.type = import_ref Main//incomplete_return, ReturnCUnused, loaded [template = constants.%ReturnCUnused]
|
||||
// CHECK:STDOUT: %Main.ReturnCUsed: %ReturnCUsed.type = import_ref Main//incomplete_return, ReturnCUsed, loaded [template = constants.%ReturnCUsed]
|
||||
// CHECK:STDOUT: %Main.ReturnDUnused: %ReturnDUnused.type = import_ref Main//incomplete_return, ReturnDUnused, loaded [template = constants.%ReturnDUnused]
|
||||
// CHECK:STDOUT: %Main.ReturnDUsed: %ReturnDUsed.type = import_ref Main//incomplete_return, ReturnDUsed, loaded [template = constants.%ReturnDUsed]
|
||||
// CHECK:STDOUT: %Main.Call = import_ref Main//incomplete_return, Call, unloaded
|
||||
// CHECK:STDOUT: %Main.import_ref.8f2: <witness> = import_ref Main//incomplete_return, loc37_10, loaded [template = constants.%complete_type]
|
||||
// CHECK:STDOUT: %Main.import_ref.cab = import_ref Main//incomplete_return, inst16 [no loc], unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.f42
|
||||
// CHECK:STDOUT: .D = imports.%import_ref.e8f
|
||||
// CHECK:STDOUT: .ReturnCUnused = imports.%import_ref.c3e
|
||||
// CHECK:STDOUT: .ReturnCUsed = imports.%import_ref.073
|
||||
// CHECK:STDOUT: .ReturnDUnused = imports.%import_ref.c58
|
||||
// CHECK:STDOUT: .ReturnDUsed = imports.%import_ref.e1f
|
||||
// CHECK:STDOUT: .Call = imports.%import_ref.2ce
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .D = imports.%Main.D
|
||||
// CHECK:STDOUT: .ReturnCUnused = imports.%Main.ReturnCUnused
|
||||
// CHECK:STDOUT: .ReturnCUsed = imports.%Main.ReturnCUsed
|
||||
// CHECK:STDOUT: .ReturnDUnused = imports.%Main.ReturnDUnused
|
||||
// CHECK:STDOUT: .ReturnDUsed = imports.%Main.ReturnDUsed
|
||||
// CHECK:STDOUT: .Call = imports.%Main.Call
|
||||
// CHECK:STDOUT: .CallFAndGIncomplete = %CallFAndGIncomplete.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -227,23 +227,23 @@ fn CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: class @C [from "fail_incomplete_return.carbon"];
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: class @D [from "fail_incomplete_return.carbon"] {
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%import_ref.8f2
|
||||
// CHECK:STDOUT: complete_type_witness = imports.%Main.import_ref.8f2
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: !members:
|
||||
// CHECK:STDOUT: .Self = imports.%import_ref.cab
|
||||
// CHECK:STDOUT: .Self = imports.%Main.import_ref.cab
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: fn @CallFAndGIncomplete() {
|
||||
// CHECK:STDOUT: !entry:
|
||||
// CHECK:STDOUT: %ReturnCUnused.ref: %ReturnCUnused.type = name_ref ReturnCUnused, imports.%import_ref.c3e [template = constants.%ReturnCUnused]
|
||||
// CHECK:STDOUT: %ReturnCUnused.ref: %ReturnCUnused.type = name_ref ReturnCUnused, imports.%Main.ReturnCUnused [template = constants.%ReturnCUnused]
|
||||
// CHECK:STDOUT: %ReturnCUnused.call: init <error> = call %ReturnCUnused.ref()
|
||||
// CHECK:STDOUT: %ReturnCUsed.ref: %ReturnCUsed.type = name_ref ReturnCUsed, imports.%import_ref.073 [template = constants.%ReturnCUsed]
|
||||
// CHECK:STDOUT: %ReturnCUsed.ref: %ReturnCUsed.type = name_ref ReturnCUsed, imports.%Main.ReturnCUsed [template = constants.%ReturnCUsed]
|
||||
// CHECK:STDOUT: %ReturnCUsed.call: init <error> = call %ReturnCUsed.ref()
|
||||
// CHECK:STDOUT: %ReturnDUnused.ref: %ReturnDUnused.type = name_ref ReturnDUnused, imports.%import_ref.c58 [template = constants.%ReturnDUnused]
|
||||
// CHECK:STDOUT: %ReturnDUnused.ref: %ReturnDUnused.type = name_ref ReturnDUnused, imports.%Main.ReturnDUnused [template = constants.%ReturnDUnused]
|
||||
// CHECK:STDOUT: %.loc33_17.1: ref %D = temporary_storage
|
||||
// CHECK:STDOUT: %ReturnDUnused.call: init %D = call %ReturnDUnused.ref() to %.loc33_17.1
|
||||
// CHECK:STDOUT: %.loc33_17.2: ref %D = temporary %.loc33_17.1, %ReturnDUnused.call
|
||||
// CHECK:STDOUT: %ReturnDUsed.ref: %ReturnDUsed.type = name_ref ReturnDUsed, imports.%import_ref.e1f [template = constants.%ReturnDUsed]
|
||||
// CHECK:STDOUT: %ReturnDUsed.ref: %ReturnDUsed.type = name_ref ReturnDUsed, imports.%Main.ReturnDUsed [template = constants.%ReturnDUsed]
|
||||
// CHECK:STDOUT: %.loc34_15.1: ref %D = temporary_storage
|
||||
// CHECK:STDOUT: %ReturnDUsed.call: init %D = call %ReturnDUsed.ref() to %.loc34_15.1
|
||||
// CHECK:STDOUT: %.loc34_15.2: ref %D = temporary %.loc34_15.1, %ReturnDUsed.call
|
||||
|
||||
+10
-10
@@ -1025,17 +1025,17 @@ fn F() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.f42 = import_ref Main//poison, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.a98: <namespace> = import_ref Main//poison, N, loaded
|
||||
// CHECK:STDOUT: %N: <namespace> = namespace %import_ref.a98, [template] {
|
||||
// CHECK:STDOUT: .F1 = %import_ref.cd4
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//poison, C, unloaded
|
||||
// CHECK:STDOUT: %Main.N: <namespace> = import_ref Main//poison, N, loaded
|
||||
// CHECK:STDOUT: %N: <namespace> = namespace %Main.N, [template] {
|
||||
// CHECK:STDOUT: .F1 = %Main.F1
|
||||
// CHECK:STDOUT: .C = file.%C.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.f42
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .N = imports.%N
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import = import <invalid>
|
||||
@@ -1059,17 +1059,17 @@ fn F() {
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref.f42 = import_ref Main//poison, C, unloaded
|
||||
// CHECK:STDOUT: %import_ref.a98: <namespace> = import_ref Main//poison, N, loaded
|
||||
// CHECK:STDOUT: %N: <namespace> = namespace %import_ref.a98, [template] {
|
||||
// CHECK:STDOUT: .F1 = %import_ref.cd4
|
||||
// CHECK:STDOUT: %Main.C = import_ref Main//poison, C, unloaded
|
||||
// CHECK:STDOUT: %Main.N: <namespace> = import_ref Main//poison, N, loaded
|
||||
// CHECK:STDOUT: %N: <namespace> = namespace %Main.N, [template] {
|
||||
// CHECK:STDOUT: .F1 = %Main.F1
|
||||
// CHECK:STDOUT: .C = file.%C.decl
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .C = imports.%import_ref.f42
|
||||
// CHECK:STDOUT: .C = imports.%Main.C
|
||||
// CHECK:STDOUT: .N = imports.%N
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
|
||||
+4
-4
@@ -122,12 +122,12 @@ fn D();
|
||||
// CHECK:STDOUT: --- use_decl_in_api.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref = import_ref Main//decl_in_api_definition_in_impl, A, unloaded
|
||||
// CHECK:STDOUT: %Main.A = import_ref Main//decl_in_api_definition_in_impl, A, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .A = imports.%import_ref
|
||||
// CHECK:STDOUT: .A = imports.%Main.A
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
@@ -152,12 +152,12 @@ fn D();
|
||||
// CHECK:STDOUT: --- decl_only_in_api.impl.carbon
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: imports {
|
||||
// CHECK:STDOUT: %import_ref = import_ref Main//decl_only_in_api, B, unloaded
|
||||
// CHECK:STDOUT: %Main.B = import_ref Main//decl_only_in_api, B, unloaded
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: file {
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [template] {
|
||||
// CHECK:STDOUT: .B = imports.%import_ref
|
||||
// CHECK:STDOUT: .B = imports.%Main.B
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <invalid>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <invalid>
|
||||
|
||||
Reference in New Issue
Block a user