| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // Part of the Carbon Language project, under the Apache License v2.0 with LLVM
- // Exceptions. See /LICENSE for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- // AUTOUPDATE
- class A;
- class X {
- // OK, a different A.
- class A { class B; }
- class A.B {}
- }
- class A { class B; }
- class Y {
- // CHECK:STDERR: fail_redeclaration_scope.carbon:[[@LINE+3]]:9: ERROR: Name `A` not found.
- // CHECK:STDERR: class A.B {}
- // CHECK:STDERR: ^
- class A.B {}
- }
- // CHECK:STDOUT: --- fail_redeclaration_scope.carbon
- // CHECK:STDOUT:
- // CHECK:STDOUT: constants {
- // CHECK:STDOUT: %.loc11: type = struct_type {}
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: file {
- // CHECK:STDOUT: %A.decl.loc7 = class_decl @A.1, ()
- // CHECK:STDOUT: %A: type = class_type @A.1
- // CHECK:STDOUT: %X.decl = class_decl @X, ()
- // CHECK:STDOUT: %X: type = class_type @X
- // CHECK:STDOUT: %A.decl.loc15 = class_decl @A.1, ()
- // CHECK:STDOUT: %Y.decl = class_decl @Y, ()
- // CHECK:STDOUT: %Y: type = class_type @Y
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @A.1 {
- // CHECK:STDOUT: %B.decl = class_decl @B.2, ()
- // CHECK:STDOUT: %B: type = class_type @B.2
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: .B = %B.decl
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @X {
- // CHECK:STDOUT: %A.decl = class_decl @A.2, ()
- // CHECK:STDOUT: %A: type = class_type @A.2
- // CHECK:STDOUT: %B.decl = class_decl @B.1, ()
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: .A = %A.decl
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @A.2 {
- // CHECK:STDOUT: %B.decl = class_decl @B.1, ()
- // CHECK:STDOUT: %B: type = class_type @B.1
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: .B = %B.decl
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @B.1 {
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @B.2;
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @Y {
- // CHECK:STDOUT: %.decl = class_decl @.1, ()
- // CHECK:STDOUT: %.loc21: type = class_type @.1
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
- // CHECK:STDOUT: class @.1 {
- // CHECK:STDOUT:
- // CHECK:STDOUT: !members:
- // CHECK:STDOUT: }
- // CHECK:STDOUT:
|