mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Clean up node kind information for namespaces (#5120)
This flows out of #5084 and trying to reduce UnsafeMake use. It turns out imports and namespaces were using unexpected node kinds (previously ImportIntroducer instead of ImportDecl, for example). This fixes and adds validation. I was uncertain about whether to just remove the is_convertible check, since I don't see it as motivating creation of a conversion between NodeIdOneOf types. So I've just left a TODO for now.
This commit is contained in:
@@ -14,7 +14,7 @@ library "[[@TEST_NAME]]";
|
||||
|
||||
// CHECK:STDERR: fail_import_cpp.carbon:[[@LINE+4]]:1: error: `Cpp` import missing library [CppInteropMissingLibrary]
|
||||
// CHECK:STDERR: import Cpp;
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp;
|
||||
|
||||
@@ -24,7 +24,7 @@ library "[[@TEST_NAME]]";
|
||||
|
||||
// CHECK:STDERR: fail_import_cpp_library_empty.carbon:[[@LINE+4]]:1: error: `Cpp` import missing library [CppInteropMissingLibrary]
|
||||
// CHECK:STDERR: import Cpp library "";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "";
|
||||
|
||||
@@ -38,7 +38,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^~~~~~~~~~~
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "\"foo.h\"";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "\"foo.h\"";
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "one_error.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "one_error.h";
|
||||
|
||||
@@ -46,7 +46,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "multiple_errors.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "multiple_errors.h";
|
||||
|
||||
@@ -65,7 +65,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseWarning]
|
||||
// CHECK:STDERR: import Cpp library "one_warning.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "one_warning.h";
|
||||
|
||||
@@ -92,7 +92,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseWarning]
|
||||
// CHECK:STDERR: import Cpp library "multiple_warnings.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "multiple_warnings.h";
|
||||
|
||||
@@ -115,7 +115,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "one_error_and_one_warning.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "one_error_and_one_warning.h";
|
||||
|
||||
@@ -150,7 +150,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "multiple_errors_and_multiple_warnings.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "multiple_errors_and_multiple_warnings.h";
|
||||
|
||||
@@ -176,7 +176,7 @@ import Cpp library "one_warning.h";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseWarning]
|
||||
// CHECK:STDERR: import Cpp library "multiple_warnings.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "multiple_warnings.h";
|
||||
|
||||
@@ -211,7 +211,7 @@ import Cpp library "one_error_and_one_warning.h";
|
||||
// CHECK:STDERR: | ^
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "multiple_errors_and_multiple_warnings.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "multiple_errors_and_multiple_warnings.h";
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ import Cpp library "header.h";
|
||||
// CHECK:STDERR: ^~~
|
||||
// CHECK:STDERR: fail_duplicate_cpp_name.carbon:[[@LINE-5]]:1: note: name is previously declared here [NameDeclPrevious]
|
||||
// CHECK:STDERR: import Cpp library "header.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
namespace Cpp;
|
||||
|
||||
@@ -53,7 +53,7 @@ import Cpp library "header.h";
|
||||
// CHECK:STDERR: ^~~
|
||||
// CHECK:STDERR: fail_add_name_to_cpp_namespace.carbon:[[@LINE-5]]:1: note: package imported here [QualifiedDeclOutsidePackageSource]
|
||||
// CHECK:STDERR: import Cpp library "header.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
class Cpp.C {};
|
||||
|
||||
@@ -194,7 +194,7 @@ import Cpp library "header.h";
|
||||
// CHECK:STDOUT: package: <namespace> = namespace [concrete] {
|
||||
// CHECK:STDOUT: .Cpp = imports.%Cpp
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT: %default.import.loc2_6.1 = import <none>
|
||||
// CHECK:STDOUT: %default.import.loc2_6.2 = import <none>
|
||||
// CHECK:STDOUT: %default.import.loc2_28.1 = import <none>
|
||||
// CHECK:STDOUT: %default.import.loc2_28.2 = import <none>
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
|
||||
@@ -12,6 +12,6 @@
|
||||
|
||||
// CHECK:STDERR: fail_fuzzing.carbon:[[@LINE+4]]:1: error: `Cpp` import found during fuzzing [CppInteropFuzzing]
|
||||
// CHECK:STDERR: import Cpp library "file.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "file.h";
|
||||
|
||||
@@ -18,7 +18,7 @@ library "[[@TEST_NAME]]";
|
||||
// CHECK:STDERR: | ^~~~~~~~~~~~~
|
||||
// CHECK:STDERR: [CppInteropParseError]
|
||||
// CHECK:STDERR: import Cpp library "not_found.h";
|
||||
// CHECK:STDERR: ^~~~~~
|
||||
// CHECK:STDERR: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// CHECK:STDERR:
|
||||
import Cpp library "not_found.h";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user