Browse Source

Use abbreviation "decl" instead of "declaration" (#3382)

Part of switching to the [abbreviations we've decided to
use](https://docs.google.com/document/d/1RRYMm42osyqhI2LyjrjockYCutQ5dOf8Abu50kTrkX0/edit?resourcekey=0-kHyqOESbOHmzZphUbtLrTw#heading=h.pph7i5m5un7q).

I will rename files in a follow-up PR.
josh11b 2 years ago
parent
commit
5020fdb3be
100 changed files with 390 additions and 424 deletions
  1. 2 2
      common/enum_base.h
  2. 1 1
      common/enum_base_test.cpp
  3. 1 1
      explorer/ast/ast_rtti.h
  4. 1 1
      explorer/interpreter/builtins.h
  5. 1 1
      language_server/language_server.cpp
  6. 12 14
      toolchain/check/context.cpp
  7. 7 9
      toolchain/check/context.h
  8. 39 44
      toolchain/check/declaration_name_stack.cpp
  9. 3 3
      toolchain/check/declaration_name_stack.h
  10. 1 1
      toolchain/check/handle_call_expression.cpp
  11. 19 20
      toolchain/check/handle_class.cpp
  12. 18 21
      toolchain/check/handle_function.cpp
  13. 2 3
      toolchain/check/handle_interface.cpp
  14. 1 1
      toolchain/check/handle_let.cpp
  15. 12 14
      toolchain/check/handle_name.cpp
  16. 2 2
      toolchain/check/handle_named_constraint.cpp
  17. 4 4
      toolchain/check/handle_namespace.cpp
  18. 1 2
      toolchain/check/handle_noop.cpp
  19. 5 6
      toolchain/check/handle_pattern_binding.cpp
  20. 1 1
      toolchain/check/handle_statement.cpp
  21. 4 5
      toolchain/check/handle_variable.cpp
  22. 1 1
      toolchain/check/node_stack.h
  23. 1 1
      toolchain/check/testdata/array/fail_incomplete_element.carbon
  24. 1 1
      toolchain/check/testdata/as/identity.carbon
  25. 1 1
      toolchain/check/testdata/as/tuple.carbon
  26. 2 2
      toolchain/check/testdata/basics/multifile_raw_and_textual_ir.carbon
  27. 2 2
      toolchain/check/testdata/basics/multifile_raw_ir.carbon
  28. 1 1
      toolchain/check/testdata/basics/raw_and_textual_ir.carbon
  29. 1 1
      toolchain/check/testdata/basics/raw_ir.carbon
  30. 1 1
      toolchain/check/testdata/basics/verbose.carbon
  31. 1 1
      toolchain/check/testdata/class/basic.carbon
  32. 1 1
      toolchain/check/testdata/class/fail_addr_not_self.carbon
  33. 1 1
      toolchain/check/testdata/class/fail_addr_self.carbon
  34. 1 1
      toolchain/check/testdata/class/fail_incomplete.carbon
  35. 1 1
      toolchain/check/testdata/class/fail_init.carbon
  36. 1 1
      toolchain/check/testdata/class/fail_init_as_inplace.carbon
  37. 2 2
      toolchain/check/testdata/class/fail_memaccess_category.carbon
  38. 1 1
      toolchain/check/testdata/class/fail_member_of_let.carbon
  39. 1 1
      toolchain/check/testdata/class/fail_method.carbon
  40. 9 9
      toolchain/check/testdata/class/fail_redeclaration_scope.carbon
  41. 2 2
      toolchain/check/testdata/class/fail_redefinition.carbon
  42. 1 1
      toolchain/check/testdata/class/fail_reorder.carbon
  43. 1 1
      toolchain/check/testdata/class/fail_scope.carbon
  44. 2 2
      toolchain/check/testdata/class/fail_self.carbon
  45. 1 1
      toolchain/check/testdata/class/fail_unbound_field.carbon
  46. 1 1
      toolchain/check/testdata/class/fail_unknown_member.carbon
  47. 1 1
      toolchain/check/testdata/class/field_access.carbon
  48. 1 1
      toolchain/check/testdata/class/field_access_in_value.carbon
  49. 1 1
      toolchain/check/testdata/class/forward_declared.carbon
  50. 1 1
      toolchain/check/testdata/class/init.carbon
  51. 1 1
      toolchain/check/testdata/class/init_as.carbon
  52. 2 2
      toolchain/check/testdata/class/init_nested.carbon
  53. 1 1
      toolchain/check/testdata/class/method.carbon
  54. 2 2
      toolchain/check/testdata/class/nested.carbon
  55. 2 2
      toolchain/check/testdata/class/nested_name.carbon
  56. 2 2
      toolchain/check/testdata/class/redeclaration.carbon
  57. 1 1
      toolchain/check/testdata/class/reenter_scope.carbon
  58. 1 1
      toolchain/check/testdata/class/scope.carbon
  59. 1 1
      toolchain/check/testdata/class/self.carbon
  60. 1 1
      toolchain/check/testdata/class/self_type.carbon
  61. 1 1
      toolchain/check/testdata/class/static_method.carbon
  62. 1 1
      toolchain/check/testdata/if_expression/fail_not_in_function.carbon
  63. 1 1
      toolchain/check/testdata/struct/fail_nested_incomplete.carbon
  64. 1 1
      toolchain/check/testdata/tuples/fail_nested_incomplete.carbon
  65. 1 1
      toolchain/check/testdata/var/fail_not_copyable.carbon
  66. 13 13
      toolchain/diagnostics/diagnostic_kind.def
  67. 1 1
      toolchain/diagnostics/diagnostic_kind.h
  68. 1 1
      toolchain/lex/token_kind.h
  69. 4 4
      toolchain/lower/file_context.cpp
  70. 1 2
      toolchain/lower/file_context.h
  71. 2 3
      toolchain/lower/handle.cpp
  72. 2 3
      toolchain/lower/handle_aggregates.cpp
  73. 20 22
      toolchain/parse/context.cpp
  74. 10 12
      toolchain/parse/context.h
  75. 23 28
      toolchain/parse/handle_declaration_name_and_params.cpp
  76. 10 10
      toolchain/parse/handle_declaration_scope_loop.cpp
  77. 10 11
      toolchain/parse/handle_function.cpp
  78. 6 6
      toolchain/parse/handle_import_and_package.cpp
  79. 2 2
      toolchain/parse/handle_let.cpp
  80. 6 6
      toolchain/parse/handle_namespace.cpp
  81. 2 2
      toolchain/parse/handle_period.cpp
  82. 2 2
      toolchain/parse/handle_statement.cpp
  83. 12 13
      toolchain/parse/handle_type.cpp
  84. 2 2
      toolchain/parse/handle_var.cpp
  85. 23 24
      toolchain/parse/node_kind.def
  86. 1 1
      toolchain/parse/node_kind.h
  87. 23 23
      toolchain/parse/state.def
  88. 1 1
      toolchain/parse/state.h
  89. 1 1
      toolchain/parse/testdata/array/fail_require_close_bracket.carbon
  90. 1 1
      toolchain/parse/testdata/array/fail_require_semi.carbon
  91. 1 1
      toolchain/parse/testdata/array/with_length.carbon
  92. 1 1
      toolchain/parse/testdata/array/without_length.carbon
  93. 3 3
      toolchain/parse/testdata/basics/builtin_types.carbon
  94. 1 1
      toolchain/parse/testdata/basics/empty_declaration.carbon
  95. 1 1
      toolchain/parse/testdata/basics/fail_no_intro_with_semi.carbon
  96. 1 1
      toolchain/parse/testdata/basics/fail_no_intro_without_semi.carbon
  97. 1 1
      toolchain/parse/testdata/basics/fail_paren_match_regression.carbon
  98. 2 2
      toolchain/parse/testdata/basics/numeric_literals.carbon
  99. 1 1
      toolchain/parse/testdata/class/basic.carbon
  100. 1 1
      toolchain/parse/testdata/class/var.carbon

+ 2 - 2
common/enum_base.h

@@ -32,7 +32,7 @@ namespace Carbon::Internal {
 //
 //   class MyKind : public CARBON_ENUM_BASE(MyKind) {
 //    public:
-//   #define CARBON_MY_KIND(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+//   #define CARBON_MY_KIND(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 //   #include ".../my_kind.def"
 //
 //     // OPTIONAL: To support converting to and from the underlying type of
@@ -205,7 +205,7 @@ class EnumBase : public Printable<DerivedT> {
 
 // Use this within the Carbon enum class body to generate named constant
 // declarations for each value.
-#define CARBON_ENUM_CONSTANT_DECLARATION(Name) static const EnumType Name;
+#define CARBON_ENUM_CONSTANT_DECL(Name) static const EnumType Name;
 
 // Use this immediately after the Carbon enum class body to define each named
 // constant.

+ 1 - 1
common/enum_base_test.cpp

@@ -19,7 +19,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(TestKind, uint8_t) {
 
 class TestKind : public CARBON_ENUM_BASE(TestKind) {
  public:
-#define CARBON_ENUM_BASE_TEST_KIND(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+#define CARBON_ENUM_BASE_TEST_KIND(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 #include "common/enum_base_test.def"
 
   using EnumBase::AsInt;

+ 1 - 1
explorer/ast/ast_rtti.h

@@ -35,7 +35,7 @@ class AstRttiNodeKind : public CARBON_ENUM_BASE(AstRttiNodeKind) {
   // other enumerations to match, and to implement range checks.
   using EnumBase::AsInt;
 
-  CARBON_AST_FOR_EACH_FINAL_CLASS(CARBON_ENUM_CONSTANT_DECLARATION)
+  CARBON_AST_FOR_EACH_FINAL_CLASS(CARBON_ENUM_CONSTANT_DECL)
 };
 
 // Define the constant members for AstRttiNodeKind.

+ 1 - 1
explorer/interpreter/builtins.h

@@ -26,7 +26,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(Builtin, int) {
 
 class Builtin : public CARBON_ENUM_BASE(Builtin) {
  public:
-#define CARBON_BUILTIN(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+#define CARBON_BUILTIN(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 #include "explorer/interpreter/builtins.def"
 
   static const int NumBuiltins;

+ 1 - 1
language_server/language_server.cpp

@@ -106,7 +106,7 @@ void LanguageServer::OnDocumentSymbol(
   for (const auto& node : parsed.postorder()) {
     clang::clangd::SymbolKind symbol_kind;
     switch (parsed.node_kind(node)) {
-      case Parse::NodeKind::FunctionDeclaration:
+      case Parse::NodeKind::FunctionDecl:
       case Parse::NodeKind::FunctionDefinitionStart:
         symbol_kind = clang::clangd::SymbolKind::Function;
         break;

+ 12 - 14
toolchain/check/context.cpp

@@ -32,7 +32,7 @@ Context::Context(const Lex::TokenizedBuffer& tokens, DiagnosticEmitter& emitter,
       inst_block_stack_("inst_block_stack_", sem_ir, vlog_stream),
       params_or_args_stack_("params_or_args_stack_", sem_ir, vlog_stream),
       args_type_info_stack_("args_type_info_stack_", sem_ir, vlog_stream),
-      declaration_name_stack_(this) {
+      decl_name_stack_(this) {
   // Inserts the "Error" and "Type" types as "used types" so that
   // canonicalization can skip them. We don't emit either for lowering.
   canonical_types_.insert({SemIR::InstId::BuiltinError, SemIR::TypeId::Error});
@@ -78,13 +78,13 @@ auto Context::AddInstAndPush(Parse::Node parse_node, SemIR::Inst inst) -> void {
 
 auto Context::DiagnoseDuplicateName(Parse::Node parse_node,
                                     SemIR::InstId prev_def_id) -> void {
-  CARBON_DIAGNOSTIC(NameDeclarationDuplicate, Error,
+  CARBON_DIAGNOSTIC(NameDeclDuplicate, Error,
                     "Duplicate name being declared in the same scope.");
-  CARBON_DIAGNOSTIC(NameDeclarationPrevious, Note,
+  CARBON_DIAGNOSTIC(NameDeclPrevious, Note,
                     "Name is previously declared here.");
   auto prev_def = insts().Get(prev_def_id);
-  emitter_->Build(parse_node, NameDeclarationDuplicate)
-      .Note(prev_def.parse_node(), NameDeclarationPrevious)
+  emitter_->Build(parse_node, NameDeclDuplicate)
+      .Note(prev_def.parse_node(), NameDeclPrevious)
       .Emit();
 }
 
@@ -107,7 +107,7 @@ auto Context::NoteIncompleteClass(SemIR::ClassId class_id,
     builder.Note(insts().Get(class_info.definition_id).parse_node(),
                  ClassIncompleteWithinDefinition);
   } else {
-    builder.Note(insts().Get(class_info.declaration_id).parse_node(),
+    builder.Note(insts().Get(class_info.decl_id).parse_node(),
                  ClassForwardDeclaredHere);
   }
 }
@@ -128,10 +128,8 @@ auto Context::AddNameToLookup(Parse::Node name_node, SemIR::NameId name_id,
   }
 }
 
-auto Context::LookupNameInDeclaration(Parse::Node parse_node,
-                                      SemIR::NameId name_id,
-                                      SemIR::NameScopeId scope_id)
-    -> SemIR::InstId {
+auto Context::LookupNameInDecl(Parse::Node parse_node, SemIR::NameId name_id,
+                               SemIR::NameScopeId scope_id) -> SemIR::InstId {
   if (scope_id == SemIR::NameScopeId::Invalid) {
     // Look for a name in the current scope only. There are two cases where the
     // name would be in an outer scope:
@@ -298,7 +296,7 @@ auto Context::GetConstantValue(SemIR::InstId inst_id) -> SemIR::InstId {
         break;
 
       case SemIR::Field::Kind:
-      case SemIR::FunctionDeclaration::Kind:
+      case SemIR::FunctionDecl::Kind:
         return inst_id;
 
       default:
@@ -398,7 +396,7 @@ auto Context::AddCurrentCodeBlockToFunction(Parse::Node parse_node) -> void {
 
   auto function_id =
       insts()
-          .GetAs<SemIR::FunctionDeclaration>(return_scope_stack().back())
+          .GetAs<SemIR::FunctionDecl>(return_scope_stack().back())
           .function_id;
   functions()
       .Get(function_id)
@@ -785,13 +783,13 @@ class TypeCompleter {
       case SemIR::BranchIf::Kind:
       case SemIR::BranchWithArg::Kind:
       case SemIR::Call::Kind:
-      case SemIR::ClassDeclaration::Kind:
+      case SemIR::ClassDecl::Kind:
       case SemIR::ClassFieldAccess::Kind:
       case SemIR::ClassInit::Kind:
       case SemIR::Converted::Kind:
       case SemIR::Dereference::Kind:
       case SemIR::Field::Kind:
-      case SemIR::FunctionDeclaration::Kind:
+      case SemIR::FunctionDecl::Kind:
       case SemIR::InitializeFrom::Kind:
       case SemIR::IntegerLiteral::Kind:
       case SemIR::NameReference::Kind:

+ 7 - 9
toolchain/check/context.h

@@ -58,8 +58,8 @@ class Context {
   // Performs name lookup in a specified scope for a name appearing in a
   // declaration, returning the referenced instruction. If scope_id is invalid,
   // uses the current contextual scope.
-  auto LookupNameInDeclaration(Parse::Node parse_node, SemIR::NameId name_id,
-                               SemIR::NameScopeId scope_id) -> SemIR::InstId;
+  auto LookupNameInDecl(Parse::Node parse_node, SemIR::NameId name_id,
+                        SemIR::NameScopeId scope_id) -> SemIR::InstId;
 
   // Performs an unqualified name lookup, returning the referenced instruction.
   auto LookupUnqualifiedName(Parse::Node parse_node, SemIR::NameId name_id)
@@ -267,9 +267,7 @@ class Context {
     return break_continue_stack_;
   }
 
-  auto declaration_name_stack() -> DeclarationNameStack& {
-    return declaration_name_stack_;
-  }
+  auto decl_name_stack() -> DeclNameStack& { return decl_name_stack_; }
 
   // Directly expose SemIR::File data accessors for brevity in calls.
   auto identifiers() -> StringStoreWrapper<IdentifierId>& {
@@ -324,8 +322,8 @@ class Context {
 
     // The instruction associated with this entry, if any. This can be one of:
     //
-    // - A `ClassDeclaration`, for a class definition scope.
-    // - A `FunctionDeclaration`, for the outermost scope in a function
+    // - A `ClassDecl`, for a class definition scope.
+    // - A `FunctionDecl`, for the outermost scope in a function
     //   definition.
     // - Invalid, for any other scope.
     SemIR::InstId scope_inst_id;
@@ -408,7 +406,7 @@ class Context {
   InstBlockStack args_type_info_stack_;
 
   // A stack of return scopes; i.e., targets for `return`. Inside a function,
-  // this will be a FunctionDeclaration.
+  // this will be a FunctionDecl.
   llvm::SmallVector<SemIR::InstId> return_scope_stack_;
 
   // A stack of `break` and `continue` targets.
@@ -426,7 +424,7 @@ class Context {
   ScopeIndex next_scope_index_ = ScopeIndex(0);
 
   // The stack used for qualified declaration name construction.
-  DeclarationNameStack declaration_name_stack_;
+  DeclNameStack decl_name_stack_;
 
   // Maps identifiers to name lookup results. Values are a stack of name lookup
   // results in the ancestor scopes. This offers constant-time lookup of names,

+ 39 - 44
toolchain/check/declaration_name_stack.cpp

@@ -8,34 +8,32 @@
 
 namespace Carbon::Check {
 
-auto DeclarationNameStack::MakeEmptyNameContext() -> NameContext {
+auto DeclNameStack::MakeEmptyNameContext() -> NameContext {
   return NameContext{.enclosing_scope = context_->current_scope_index(),
                      .target_scope_id = context_->current_scope_id()};
 }
 
-auto DeclarationNameStack::MakeUnqualifiedName(Parse::Node parse_node,
-                                               SemIR::NameId name_id)
-    -> NameContext {
+auto DeclNameStack::MakeUnqualifiedName(Parse::Node parse_node,
+                                        SemIR::NameId name_id) -> NameContext {
   NameContext context = MakeEmptyNameContext();
   ApplyNameQualifierTo(context, parse_node, name_id);
   return context;
 }
 
-auto DeclarationNameStack::PushScopeAndStartName() -> void {
-  declaration_name_stack_.push_back(MakeEmptyNameContext());
+auto DeclNameStack::PushScopeAndStartName() -> void {
+  decl_name_stack_.push_back(MakeEmptyNameContext());
 }
 
-auto DeclarationNameStack::FinishName() -> NameContext {
-  CARBON_CHECK(declaration_name_stack_.back().state !=
-               NameContext::State::Finished)
+auto DeclNameStack::FinishName() -> NameContext {
+  CARBON_CHECK(decl_name_stack_.back().state != NameContext::State::Finished)
       << "Finished name twice";
   if (context_->parse_tree().node_kind(
           context_->node_stack().PeekParseNode()) ==
-      Parse::NodeKind::QualifiedDeclaration) {
-    // Any parts from a QualifiedDeclaration will already have been processed
+      Parse::NodeKind::QualifiedDecl) {
+    // Any parts from a QualifiedDecl will already have been processed
     // into the name.
     context_->node_stack()
-        .PopAndDiscardSoloParseNode<Parse::NodeKind::QualifiedDeclaration>();
+        .PopAndDiscardSoloParseNode<Parse::NodeKind::QualifiedDecl>();
   } else {
     // The name had no qualifiers, so we need to process the node now.
     auto [parse_node, name_id] =
@@ -43,22 +41,20 @@ auto DeclarationNameStack::FinishName() -> NameContext {
     ApplyNameQualifier(parse_node, name_id);
   }
 
-  NameContext result = declaration_name_stack_.back();
-  declaration_name_stack_.back().state = NameContext::State::Finished;
+  NameContext result = decl_name_stack_.back();
+  decl_name_stack_.back().state = NameContext::State::Finished;
   return result;
 }
 
-auto DeclarationNameStack::PopScope() -> void {
-  CARBON_CHECK(declaration_name_stack_.back().state ==
-               NameContext::State::Finished)
+auto DeclNameStack::PopScope() -> void {
+  CARBON_CHECK(decl_name_stack_.back().state == NameContext::State::Finished)
       << "Missing call to FinishName before PopScope";
-  context_->PopToScope(declaration_name_stack_.back().enclosing_scope);
-  declaration_name_stack_.pop_back();
+  context_->PopToScope(decl_name_stack_.back().enclosing_scope);
+  decl_name_stack_.pop_back();
 }
 
-auto DeclarationNameStack::LookupOrAddName(NameContext name_context,
-                                           SemIR::InstId target_id)
-    -> SemIR::InstId {
+auto DeclNameStack::LookupOrAddName(NameContext name_context,
+                                    SemIR::InstId target_id) -> SemIR::InstId {
   switch (name_context.state) {
     case NameContext::State::Error:
       // The name is invalid and a diagnostic has already been emitted.
@@ -94,25 +90,25 @@ auto DeclarationNameStack::LookupOrAddName(NameContext name_context,
   }
 }
 
-auto DeclarationNameStack::AddNameToLookup(NameContext name_context,
-                                           SemIR::InstId target_id) -> void {
+auto DeclNameStack::AddNameToLookup(NameContext name_context,
+                                    SemIR::InstId target_id) -> void {
   auto existing_inst_id = LookupOrAddName(name_context, target_id);
   if (existing_inst_id.is_valid()) {
     context_->DiagnoseDuplicateName(name_context.parse_node, existing_inst_id);
   }
 }
 
-auto DeclarationNameStack::ApplyNameQualifier(Parse::Node parse_node,
-                                              SemIR::NameId name_id) -> void {
-  ApplyNameQualifierTo(declaration_name_stack_.back(), parse_node, name_id);
+auto DeclNameStack::ApplyNameQualifier(Parse::Node parse_node,
+                                       SemIR::NameId name_id) -> void {
+  ApplyNameQualifierTo(decl_name_stack_.back(), parse_node, name_id);
 }
 
-auto DeclarationNameStack::ApplyNameQualifierTo(NameContext& name_context,
-                                                Parse::Node parse_node,
-                                                SemIR::NameId name_id) -> void {
+auto DeclNameStack::ApplyNameQualifierTo(NameContext& name_context,
+                                         Parse::Node parse_node,
+                                         SemIR::NameId name_id) -> void {
   if (CanResolveQualifier(name_context, parse_node)) {
     // For identifier nodes, we need to perform a lookup on the identifier.
-    auto resolved_inst_id = context_->LookupNameInDeclaration(
+    auto resolved_inst_id = context_->LookupNameInDecl(
         name_context.parse_node, name_id, name_context.target_scope_id);
     if (!resolved_inst_id.is_valid()) {
       // Invalid indicates an unresolved name. Store it and return.
@@ -129,15 +125,14 @@ auto DeclarationNameStack::ApplyNameQualifierTo(NameContext& name_context,
   }
 }
 
-auto DeclarationNameStack::UpdateScopeIfNeeded(NameContext& name_context)
-    -> void {
+auto DeclNameStack::UpdateScopeIfNeeded(NameContext& name_context) -> void {
   // This will only be reached for resolved instructions. We update the target
   // scope based on the resolved type.
   auto resolved_inst = context_->insts().Get(name_context.resolved_inst_id);
   switch (resolved_inst.kind()) {
-    case SemIR::ClassDeclaration::Kind: {
+    case SemIR::ClassDecl::Kind: {
       const auto& class_info = context_->classes().Get(
-          resolved_inst.As<SemIR::ClassDeclaration>().class_id);
+          resolved_inst.As<SemIR::ClassDecl>().class_id);
       if (class_info.is_defined()) {
         name_context.state = NameContext::State::Resolved;
         name_context.target_scope_id = class_info.scope_id;
@@ -160,8 +155,8 @@ auto DeclarationNameStack::UpdateScopeIfNeeded(NameContext& name_context)
   }
 }
 
-auto DeclarationNameStack::CanResolveQualifier(NameContext& name_context,
-                                               Parse::Node parse_node) -> bool {
+auto DeclNameStack::CanResolveQualifier(NameContext& name_context,
+                                        Parse::Node parse_node) -> bool {
   switch (name_context.state) {
     case NameContext::State::Error:
       // Already in an error state, so return without examining.
@@ -180,12 +175,12 @@ auto DeclarationNameStack::CanResolveQualifier(NameContext& name_context,
       // qualifier didn't resolve to a scoped entity.
       if (auto class_decl = context_->insts()
                                 .Get(name_context.resolved_inst_id)
-                                .TryAs<SemIR::ClassDeclaration>()) {
-        CARBON_DIAGNOSTIC(QualifiedDeclarationInIncompleteClassScope, Error,
+                                .TryAs<SemIR::ClassDecl>()) {
+        CARBON_DIAGNOSTIC(QualifiedDeclInIncompleteClassScope, Error,
                           "Cannot declare a member of incomplete class `{0}`.",
                           std::string);
         auto builder = context_->emitter().Build(
-            name_context.parse_node, QualifiedDeclarationInIncompleteClassScope,
+            name_context.parse_node, QualifiedDeclInIncompleteClassScope,
             context_->sem_ir().StringifyType(
                 context_->classes().Get(class_decl->class_id).self_type_id,
                 true));
@@ -193,14 +188,14 @@ auto DeclarationNameStack::CanResolveQualifier(NameContext& name_context,
         builder.Emit();
       } else {
         CARBON_DIAGNOSTIC(
-            QualifiedDeclarationInNonScope, Error,
+            QualifiedDeclInNonScope, Error,
             "Declaration qualifiers are only allowed for entities "
             "that provide a scope.");
-        CARBON_DIAGNOSTIC(QualifiedDeclarationNonScopeEntity, Note,
+        CARBON_DIAGNOSTIC(QualifiedDeclNonScopeEntity, Note,
                           "Non-scope entity referenced here.");
         context_->emitter()
-            .Build(parse_node, QualifiedDeclarationInNonScope)
-            .Note(name_context.parse_node, QualifiedDeclarationNonScopeEntity)
+            .Build(parse_node, QualifiedDeclInNonScope)
+            .Note(name_context.parse_node, QualifiedDeclNonScopeEntity)
             .Emit();
       }
       name_context.state = NameContext::State::Error;

+ 3 - 3
toolchain/check/declaration_name_stack.h

@@ -74,7 +74,7 @@ class Context;
 // // is forward declared in `MyType`, but is not a scope itself.
 // fn MyNamespace.MyType.DoSomething() { ... }
 // ```
-class DeclarationNameStack {
+class DeclNameStack {
  public:
   // Context for declaration name construction.
   struct NameContext {
@@ -128,7 +128,7 @@ class DeclarationNameStack {
     };
   };
 
-  explicit DeclarationNameStack(Context* context) : context_(context) {}
+  explicit DeclNameStack(Context* context) : context_(context) {}
 
   // Pushes processing of a new declaration name, which will be used
   // contextually, and prepares to enter scopes for that name. To pop this
@@ -193,7 +193,7 @@ class DeclarationNameStack {
   Context* context_;
 
   // Provides nesting for construction.
-  llvm::SmallVector<NameContext> declaration_name_stack_;
+  llvm::SmallVector<NameContext> decl_name_stack_;
 };
 
 }  // namespace Carbon::Check

+ 1 - 1
toolchain/check/handle_call_expression.cpp

@@ -48,7 +48,7 @@ auto HandleCallExpr(Context& context, Parse::Node parse_node) -> bool {
     return diagnose_not_callable();
   }
   auto function_decl =
-      context.insts().Get(function_decl_id).TryAs<SemIR::FunctionDeclaration>();
+      context.insts().Get(function_decl_id).TryAs<SemIR::FunctionDecl>();
   if (!function_decl) {
     return diagnose_not_callable();
   }

+ 19 - 20
toolchain/check/handle_class.cpp

@@ -14,29 +14,29 @@ auto HandleClassIntroducer(Context& context, Parse::Node parse_node) -> bool {
   // Push the bracketing node.
   context.node_stack().Push(parse_node);
   // A name should always follow.
-  context.declaration_name_stack().PushScopeAndStartName();
+  context.decl_name_stack().PushScopeAndStartName();
   return true;
 }
 
-static auto BuildClassDeclaration(Context& context)
+static auto BuildClassDecl(Context& context)
     -> std::tuple<SemIR::ClassId, SemIR::InstId> {
-  auto name_context = context.declaration_name_stack().FinishName();
+  auto name_context = context.decl_name_stack().FinishName();
   auto class_keyword =
       context.node_stack()
           .PopForSoloParseNode<Parse::NodeKind::ClassIntroducer>();
   auto decl_block_id = context.inst_block_stack().Pop();
 
   // Add the class declaration.
-  auto class_decl = SemIR::ClassDeclaration{
-      class_keyword, SemIR::ClassId::Invalid, decl_block_id};
+  auto class_decl =
+      SemIR::ClassDecl{class_keyword, SemIR::ClassId::Invalid, decl_block_id};
   auto class_decl_id = context.AddInst(class_decl);
 
   // Check whether this is a redeclaration.
-  auto existing_id = context.declaration_name_stack().LookupOrAddName(
-      name_context, class_decl_id);
+  auto existing_id =
+      context.decl_name_stack().LookupOrAddName(name_context, class_decl_id);
   if (existing_id.is_valid()) {
     if (auto existing_class_decl =
-            context.insts().Get(existing_id).TryAs<SemIR::ClassDeclaration>()) {
+            context.insts().Get(existing_id).TryAs<SemIR::ClassDecl>()) {
       // This is a redeclaration of an existing class.
       class_decl.class_id = existing_class_decl->class_id;
     } else {
@@ -51,13 +51,13 @@ static auto BuildClassDeclaration(Context& context)
     // was an error in the qualifier, we will have lost track of the class name
     // here. We should keep track of it even if the name is invalid.
     class_decl.class_id = context.classes().Add(
-        {.name_id = name_context.state ==
-                            DeclarationNameStack::NameContext::State::Unresolved
-                        ? name_context.unresolved_name_id
-                        : SemIR::NameId::Invalid,
+        {.name_id =
+             name_context.state == DeclNameStack::NameContext::State::Unresolved
+                 ? name_context.unresolved_name_id
+                 : SemIR::NameId::Invalid,
          // `.self_type_id` depends on `class_id`, so is set below.
          .self_type_id = SemIR::TypeId::Invalid,
-         .declaration_id = class_decl_id});
+         .decl_id = class_decl_id});
 
     // Build the `Self` type.
     auto& class_info = context.classes().Get(class_decl.class_id);
@@ -67,22 +67,21 @@ static auto BuildClassDeclaration(Context& context)
             class_decl.class_id}));
   }
 
-  // Write the class ID into the ClassDeclaration.
+  // Write the class ID into the ClassDecl.
   context.insts().Set(class_decl_id, class_decl);
 
   return {class_decl.class_id, class_decl_id};
 }
 
-auto HandleClassDeclaration(Context& context, Parse::Node /*parse_node*/)
-    -> bool {
-  BuildClassDeclaration(context);
-  context.declaration_name_stack().PopScope();
+auto HandleClassDecl(Context& context, Parse::Node /*parse_node*/) -> bool {
+  BuildClassDecl(context);
+  context.decl_name_stack().PopScope();
   return true;
 }
 
 auto HandleClassDefinitionStart(Context& context, Parse::Node parse_node)
     -> bool {
-  auto [class_id, class_decl_id] = BuildClassDeclaration(context);
+  auto [class_id, class_decl_id] = BuildClassDecl(context);
   auto& class_info = context.classes().Get(class_id);
 
   // Track that this declaration is the definition.
@@ -133,7 +132,7 @@ auto HandleClassDefinition(Context& context, Parse::Node parse_node) -> bool {
       context.node_stack().Pop<Parse::NodeKind::ClassDefinitionStart>();
   context.inst_block_stack().Pop();
   context.PopScope();
-  context.declaration_name_stack().PopScope();
+  context.decl_name_stack().PopScope();
 
   // The class type is now fully defined.
   auto& class_info = context.classes().Get(class_id);

+ 18 - 21
toolchain/check/handle_function.cpp

@@ -8,10 +8,10 @@
 
 namespace Carbon::Check {
 
-// Build a FunctionDeclaration describing the signature of a function. This
+// Build a FunctionDecl describing the signature of a function. This
 // handles the common logic shared by function declaration syntax and function
 // definition syntax.
-static auto BuildFunctionDeclaration(Context& context, bool is_definition)
+static auto BuildFunctionDecl(Context& context, bool is_definition)
     -> std::pair<SemIR::FunctionId, SemIR::InstId> {
   // TODO: This contains the IR block for the parameters and return type. At
   // present, it's just loose, but it's not strictly required for parameter
@@ -55,25 +55,23 @@ static auto BuildFunctionDeclaration(Context& context, bool is_definition)
       context.node_stack()
           .PopIf<Parse::NodeKind::ImplicitParameterList>()
           .value_or(SemIR::InstBlockId::Empty);
-  auto name_context = context.declaration_name_stack().FinishName();
+  auto name_context = context.decl_name_stack().FinishName();
   auto fn_node =
       context.node_stack()
           .PopForSoloParseNode<Parse::NodeKind::FunctionIntroducer>();
 
   // Add the function declaration.
-  auto function_decl = SemIR::FunctionDeclaration{
+  auto function_decl = SemIR::FunctionDecl{
       fn_node, context.GetBuiltinType(SemIR::BuiltinKind::FunctionType),
       SemIR::FunctionId::Invalid};
   auto function_decl_id = context.AddInst(function_decl);
 
   // Check whether this is a redeclaration.
-  auto existing_id = context.declaration_name_stack().LookupOrAddName(
-      name_context, function_decl_id);
+  auto existing_id =
+      context.decl_name_stack().LookupOrAddName(name_context, function_decl_id);
   if (existing_id.is_valid()) {
     if (auto existing_function_decl =
-            context.insts()
-                .Get(existing_id)
-                .TryAs<SemIR::FunctionDeclaration>()) {
+            context.insts().Get(existing_id).TryAs<SemIR::FunctionDecl>()) {
       // This is a redeclaration of an existing function.
       function_decl.function_id = existing_function_decl->function_id;
 
@@ -98,17 +96,17 @@ static auto BuildFunctionDeclaration(Context& context, bool is_definition)
   // Create a new function if this isn't a valid redeclaration.
   if (!function_decl.function_id.is_valid()) {
     function_decl.function_id = context.functions().Add(
-        {.name_id = name_context.state ==
-                            DeclarationNameStack::NameContext::State::Unresolved
-                        ? name_context.unresolved_name_id
-                        : SemIR::NameId::Invalid,
+        {.name_id =
+             name_context.state == DeclNameStack::NameContext::State::Unresolved
+                 ? name_context.unresolved_name_id
+                 : SemIR::NameId::Invalid,
          .implicit_param_refs_id = implicit_param_refs_id,
          .param_refs_id = param_refs_id,
          .return_type_id = return_type_id,
          .return_slot_id = return_slot_id});
   }
 
-  // Write the function ID into the FunctionDeclaration.
+  // Write the function ID into the FunctionDecl.
   context.insts().Set(function_decl_id, function_decl);
 
   if (SemIR::IsEntryPoint(context.sem_ir(), function_decl.function_id)) {
@@ -129,10 +127,9 @@ static auto BuildFunctionDeclaration(Context& context, bool is_definition)
   return {function_decl.function_id, function_decl_id};
 }
 
-auto HandleFunctionDeclaration(Context& context, Parse::Node /*parse_node*/)
-    -> bool {
-  BuildFunctionDeclaration(context, /*is_definition=*/false);
-  context.declaration_name_stack().PopScope();
+auto HandleFunctionDecl(Context& context, Parse::Node /*parse_node*/) -> bool {
+  BuildFunctionDecl(context, /*is_definition=*/false);
+  context.decl_name_stack().PopScope();
   return true;
 }
 
@@ -157,7 +154,7 @@ auto HandleFunctionDefinition(Context& context, Parse::Node parse_node)
   context.PopScope();
   context.inst_block_stack().Pop();
   context.return_scope_stack().pop_back();
-  context.declaration_name_stack().PopScope();
+  context.decl_name_stack().PopScope();
   return true;
 }
 
@@ -165,7 +162,7 @@ auto HandleFunctionDefinitionStart(Context& context, Parse::Node parse_node)
     -> bool {
   // Process the declaration portion of the function.
   auto [function_id, decl_id] =
-      BuildFunctionDeclaration(context, /*is_definition=*/true);
+      BuildFunctionDecl(context, /*is_definition=*/true);
   auto& function = context.functions().Get(function_id);
 
   // Track that this declaration is the definition.
@@ -231,7 +228,7 @@ auto HandleFunctionIntroducer(Context& context, Parse::Node parse_node)
   // Push the bracketing node.
   context.node_stack().Push(parse_node);
   // A name should always follow.
-  context.declaration_name_stack().PushScopeAndStartName();
+  context.decl_name_stack().PushScopeAndStartName();
   return true;
 }
 

+ 2 - 3
toolchain/check/handle_interface.cpp

@@ -6,9 +6,8 @@
 
 namespace Carbon::Check {
 
-auto HandleInterfaceDeclaration(Context& context, Parse::Node parse_node)
-    -> bool {
-  return context.TODO(parse_node, "HandleInterfaceDeclaration");
+auto HandleInterfaceDecl(Context& context, Parse::Node parse_node) -> bool {
+  return context.TODO(parse_node, "HandleInterfaceDecl");
 }
 
 auto HandleInterfaceDefinition(Context& context, Parse::Node parse_node)

+ 1 - 1
toolchain/check/handle_let.cpp

@@ -8,7 +8,7 @@
 
 namespace Carbon::Check {
 
-auto HandleLetDeclaration(Context& context, Parse::Node parse_node) -> bool {
+auto HandleLetDecl(Context& context, Parse::Node parse_node) -> bool {
   auto value_id = context.node_stack().PopExpr();
   SemIR::InstId pattern_id =
       context.node_stack().Pop<Parse::NodeKind::PatternBinding>();

+ 12 - 14
toolchain/check/handle_name.cpp

@@ -43,7 +43,7 @@ static auto GetExprValueForLookupResult(Context& context,
     -> SemIR::InstId {
   // If lookup finds a class declaration, the value is its `Self` type.
   auto lookup_result = context.insts().Get(lookup_result_id);
-  if (auto class_decl = lookup_result.TryAs<SemIR::ClassDeclaration>()) {
+  if (auto class_decl = lookup_result.TryAs<SemIR::ClassDecl>()) {
     return context.sem_ir().GetTypeAllowBuiltinTypes(
         context.classes().Get(class_decl->class_id).self_type_id);
   }
@@ -148,9 +148,8 @@ auto HandleMemberAccessExpr(Context& context, Parse::Node parse_node) -> bool {
         CARBON_CHECK(function_name_id.is_valid())
             << "Non-constant value " << context.insts().Get(member_id)
             << " of function type";
-        auto function_decl = context.insts()
-                                 .Get(function_name_id)
-                                 .TryAs<SemIR::FunctionDeclaration>();
+        auto function_decl =
+            context.insts().Get(function_name_id).TryAs<SemIR::FunctionDecl>();
         CARBON_CHECK(function_decl)
             << "Unexpected value " << context.insts().Get(function_name_id)
             << " of function type";
@@ -242,25 +241,24 @@ auto HandleNameExpr(Context& context, Parse::Node parse_node) -> bool {
   return true;
 }
 
-auto HandleQualifiedDeclaration(Context& context, Parse::Node parse_node)
-    -> bool {
+auto HandleQualifiedDecl(Context& context, Parse::Node parse_node) -> bool {
   auto [parse_node2, name_id2] =
       context.node_stack().PopWithParseNode<Parse::NodeKind::Name>();
 
   Parse::Node parse_node1 = context.node_stack().PeekParseNode();
   switch (context.parse_tree().node_kind(parse_node1)) {
-    case Parse::NodeKind::QualifiedDeclaration:
-      // This is the second or subsequent QualifiedDeclaration in a chain.
-      // Nothing to do: the first QualifiedDeclaration remains as a
-      // bracketing node for later QualifiedDeclarations.
+    case Parse::NodeKind::QualifiedDecl:
+      // This is the second or subsequent QualifiedDecl in a chain.
+      // Nothing to do: the first QualifiedDecl remains as a
+      // bracketing node for later QualifiedDecls.
       break;
 
     case Parse::NodeKind::Name: {
-      // This is the first QualifiedDeclaration in a chain, and starts with a
+      // This is the first QualifiedDecl in a chain, and starts with a
       // name.
       auto name_id = context.node_stack().Pop<Parse::NodeKind::Name>();
-      context.declaration_name_stack().ApplyNameQualifier(parse_node1, name_id);
-      // Add the QualifiedDeclaration so that it can be used for bracketing.
+      context.decl_name_stack().ApplyNameQualifier(parse_node1, name_id);
+      // Add the QualifiedDecl so that it can be used for bracketing.
       context.node_stack().Push(parse_node);
       break;
     }
@@ -270,7 +268,7 @@ auto HandleQualifiedDeclaration(Context& context, Parse::Node parse_node)
                         "declaration name";
   }
 
-  context.declaration_name_stack().ApplyNameQualifier(parse_node2, name_id2);
+  context.decl_name_stack().ApplyNameQualifier(parse_node2, name_id2);
   return true;
 }
 

+ 2 - 2
toolchain/check/handle_named_constraint.cpp

@@ -6,9 +6,9 @@
 
 namespace Carbon::Check {
 
-auto HandleNamedConstraintDeclaration(Context& context, Parse::Node parse_node)
+auto HandleNamedConstraintDecl(Context& context, Parse::Node parse_node)
     -> bool {
-  return context.TODO(parse_node, "HandleNamedConstraintDeclaration");
+  return context.TODO(parse_node, "HandleNamedConstraintDecl");
 }
 
 auto HandleNamedConstraintDefinition(Context& context, Parse::Node parse_node)

+ 4 - 4
toolchain/check/handle_namespace.cpp

@@ -9,17 +9,17 @@ namespace Carbon::Check {
 
 auto HandleNamespaceStart(Context& context, Parse::Node /*parse_node*/)
     -> bool {
-  context.declaration_name_stack().PushScopeAndStartName();
+  context.decl_name_stack().PushScopeAndStartName();
   return true;
 }
 
 auto HandleNamespace(Context& context, Parse::Node parse_node) -> bool {
-  auto name_context = context.declaration_name_stack().FinishName();
+  auto name_context = context.decl_name_stack().FinishName();
   auto namespace_id = context.AddInst(SemIR::Namespace{
       parse_node, context.GetBuiltinType(SemIR::BuiltinKind::NamespaceType),
       context.name_scopes().Add()});
-  context.declaration_name_stack().AddNameToLookup(name_context, namespace_id);
-  context.declaration_name_stack().PopScope();
+  context.decl_name_stack().AddNameToLookup(name_context, namespace_id);
+  context.decl_name_stack().PopScope();
   return true;
 }
 

+ 1 - 2
toolchain/check/handle_noop.cpp

@@ -6,8 +6,7 @@
 
 namespace Carbon::Check {
 
-auto HandleEmptyDeclaration(Context& /*context*/, Parse::Node /*parse_node*/)
-    -> bool {
+auto HandleEmptyDecl(Context& /*context*/, Parse::Node /*parse_node*/) -> bool {
   // Empty declarations have no actions associated.
   return true;
 }

+ 5 - 6
toolchain/check/handle_pattern_binding.cpp

@@ -64,14 +64,13 @@ auto HandlePatternBinding(Context& context, Parse::Node parse_node) -> bool {
               context.node_stack().PeekParseNode())) {
     case Parse::NodeKind::VariableIntroducer: {
       // A `var` declaration at class scope introduces a field.
-      auto enclosing_class_decl =
-          context.GetCurrentScopeAs<SemIR::ClassDeclaration>();
+      auto enclosing_class_decl = context.GetCurrentScopeAs<SemIR::ClassDecl>();
       if (!context.TryToCompleteType(cast_type_id, [&] {
-            CARBON_DIAGNOSTIC(IncompleteTypeInVarDeclaration, Error,
+            CARBON_DIAGNOSTIC(IncompleteTypeInVarDecl, Error,
                               "{0} has incomplete type `{1}`.", llvm::StringRef,
                               std::string);
             return context.emitter().Build(
-                type_node_copy, IncompleteTypeInVarDeclaration,
+                type_node_copy, IncompleteTypeInVarDecl,
                 enclosing_class_decl ? "Field" : "Variable",
                 context.sem_ir().StringifyType(cast_type_id, true));
           })) {
@@ -116,11 +115,11 @@ auto HandlePatternBinding(Context& context, Parse::Node parse_node) -> bool {
 
     case Parse::NodeKind::LetIntroducer:
       if (!context.TryToCompleteType(cast_type_id, [&] {
-            CARBON_DIAGNOSTIC(IncompleteTypeInLetDeclaration, Error,
+            CARBON_DIAGNOSTIC(IncompleteTypeInLetDecl, Error,
                               "`let` binding has incomplete type `{0}`.",
                               std::string);
             return context.emitter().Build(
-                type_node_copy, IncompleteTypeInLetDeclaration,
+                type_node_copy, IncompleteTypeInLetDecl,
                 context.sem_ir().StringifyType(cast_type_id, true));
           })) {
         cast_type_id = SemIR::TypeId::Error;

+ 1 - 1
toolchain/check/handle_statement.cpp

@@ -28,7 +28,7 @@ auto HandleExprStatement(Context& context, Parse::Node /*parse_node*/) -> bool {
 
 auto HandleReturnStatement(Context& context, Parse::Node parse_node) -> bool {
   CARBON_CHECK(!context.return_scope_stack().empty());
-  auto fn_inst = context.insts().GetAs<SemIR::FunctionDeclaration>(
+  auto fn_inst = context.insts().GetAs<SemIR::FunctionDecl>(
       context.return_scope_stack().back());
   const auto& callable = context.functions().Get(fn_inst.function_id);
 

+ 4 - 5
toolchain/check/handle_variable.cpp

@@ -8,8 +8,7 @@
 
 namespace Carbon::Check {
 
-auto HandleVariableDeclaration(Context& context, Parse::Node parse_node)
-    -> bool {
+auto HandleVariableDecl(Context& context, Parse::Node parse_node) -> bool {
   // Handle the optional initializer.
   auto init_id = SemIR::InstId::Invalid;
   bool has_init =
@@ -26,9 +25,9 @@ auto HandleVariableDeclaration(Context& context, Parse::Node parse_node)
   if (auto bind_name = context.insts().Get(value_id).TryAs<SemIR::BindName>()) {
     // Form a corresponding name in the current context, and bind the name to
     // the variable.
-    context.declaration_name_stack().AddNameToLookup(
-        context.declaration_name_stack().MakeUnqualifiedName(
-            bind_name->parse_node, bind_name->name_id),
+    context.decl_name_stack().AddNameToLookup(
+        context.decl_name_stack().MakeUnqualifiedName(bind_name->parse_node,
+                                                      bind_name->name_id),
         value_id);
     value_id = bind_name->value_id;
   }

+ 1 - 1
toolchain/check/node_stack.h

@@ -326,7 +326,7 @@ class NodeStack {
       case Parse::NodeKind::LetIntroducer:
       case Parse::NodeKind::ParameterListStart:
       case Parse::NodeKind::ParenExprOrTupleLiteralStart:
-      case Parse::NodeKind::QualifiedDeclaration:
+      case Parse::NodeKind::QualifiedDecl:
       case Parse::NodeKind::ReturnStatementStart:
       case Parse::NodeKind::SelfValueName:
       case Parse::NodeKind::StructLiteralOrStructTypeLiteralStart:

+ 1 - 1
toolchain/check/testdata/array/fail_incomplete_element.carbon

@@ -24,7 +24,7 @@ var p: Incomplete* = &a[0];
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_incomplete_element.carbon" {
-// CHECK:STDOUT:   class_declaration @Incomplete, ()
+// CHECK:STDOUT:   class_decl @Incomplete, ()
 // CHECK:STDOUT:   %Incomplete: type = class_type @Incomplete
 // CHECK:STDOUT:   %Incomplete.ref.loc15: type = name_reference Incomplete, %Incomplete
 // CHECK:STDOUT:   %.loc15_21: i32 = int_literal 1

+ 1 - 1
toolchain/check/testdata/as/identity.carbon

@@ -31,7 +31,7 @@ fn Initializing() {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "identity.carbon" {
-// CHECK:STDOUT:   class_declaration @X, ()
+// CHECK:STDOUT:   class_decl @X, ()
 // CHECK:STDOUT:   %X: type = class_type @X
 // CHECK:STDOUT:   %Value: <function> = fn_decl @Value
 // CHECK:STDOUT:   %Reference: <function> = fn_decl @Reference

+ 1 - 1
toolchain/check/testdata/as/tuple.carbon

@@ -31,7 +31,7 @@ fn Var() {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "tuple.carbon" {
-// CHECK:STDOUT:   class_declaration @X, ()
+// CHECK:STDOUT:   class_decl @X, ()
 // CHECK:STDOUT:   %X: type = class_type @X
 // CHECK:STDOUT:   %Make: <function> = fn_decl @Make
 // CHECK:STDOUT:   %Let: <function> = fn_decl @Let

+ 2 - 2
toolchain/check/testdata/basics/multifile_raw_and_textual_ir.carbon

@@ -25,7 +25,7 @@ fn B() {}
 // CHECK:STDOUT:     type0:           {inst: instFunctionType, value_rep: {kind: copy, type: type0}}
 // CHECK:STDOUT:   type_blocks:     {}
 // CHECK:STDOUT:   insts:
-// CHECK:STDOUT:     inst+0:          {kind: FunctionDeclaration, arg0: function0, type: type0}
+// CHECK:STDOUT:     inst+0:          {kind: FunctionDecl, arg0: function0, type: type0}
 // CHECK:STDOUT:     inst+1:          {kind: Return}
 // CHECK:STDOUT:   inst_blocks:
 // CHECK:STDOUT:     block0:          {}
@@ -54,7 +54,7 @@ fn B() {}
 // CHECK:STDOUT:     type0:           {inst: instFunctionType, value_rep: {kind: copy, type: type0}}
 // CHECK:STDOUT:   type_blocks:     {}
 // CHECK:STDOUT:   insts:
-// CHECK:STDOUT:     inst+0:          {kind: FunctionDeclaration, arg0: function0, type: type0}
+// CHECK:STDOUT:     inst+0:          {kind: FunctionDecl, arg0: function0, type: type0}
 // CHECK:STDOUT:     inst+1:          {kind: Return}
 // CHECK:STDOUT:   inst_blocks:
 // CHECK:STDOUT:     block0:          {}

+ 2 - 2
toolchain/check/testdata/basics/multifile_raw_ir.carbon

@@ -25,7 +25,7 @@ fn B() {}
 // CHECK:STDOUT:     type0:           {inst: instFunctionType, value_rep: {kind: copy, type: type0}}
 // CHECK:STDOUT:   type_blocks:     {}
 // CHECK:STDOUT:   insts:
-// CHECK:STDOUT:     inst+0:          {kind: FunctionDeclaration, arg0: function0, type: type0}
+// CHECK:STDOUT:     inst+0:          {kind: FunctionDecl, arg0: function0, type: type0}
 // CHECK:STDOUT:     inst+1:          {kind: Return}
 // CHECK:STDOUT:   inst_blocks:
 // CHECK:STDOUT:     block0:          {}
@@ -45,7 +45,7 @@ fn B() {}
 // CHECK:STDOUT:     type0:           {inst: instFunctionType, value_rep: {kind: copy, type: type0}}
 // CHECK:STDOUT:   type_blocks:     {}
 // CHECK:STDOUT:   insts:
-// CHECK:STDOUT:     inst+0:          {kind: FunctionDeclaration, arg0: function0, type: type0}
+// CHECK:STDOUT:     inst+0:          {kind: FunctionDecl, arg0: function0, type: type0}
 // CHECK:STDOUT:     inst+1:          {kind: Return}
 // CHECK:STDOUT:   inst_blocks:
 // CHECK:STDOUT:     block0:          {}

+ 1 - 1
toolchain/check/testdata/basics/raw_and_textual_ir.carbon

@@ -41,7 +41,7 @@ fn Foo(n: i32) -> (i32, f64) {
 // CHECK:STDOUT:     inst+4:          {kind: Converted, arg0: inst+2, arg1: inst+3, type: typeTypeType}
 // CHECK:STDOUT:     inst+5:          {kind: VarStorage, arg0: nameReturnSlot, type: type3}
 // CHECK:STDOUT:     inst+6:          {kind: PointerType, arg0: type3, type: typeTypeType}
-// CHECK:STDOUT:     inst+7:          {kind: FunctionDeclaration, arg0: function0, type: type5}
+// CHECK:STDOUT:     inst+7:          {kind: FunctionDecl, arg0: function0, type: type5}
 // CHECK:STDOUT:     inst+8:          {kind: NameReference, arg0: name1, arg1: inst+0, type: type0}
 // CHECK:STDOUT:     inst+9:          {kind: IntegerLiteral, arg0: int3, type: type0}
 // CHECK:STDOUT:     inst+10:         {kind: BinaryOperatorAdd, arg0: inst+8, arg1: inst+9, type: type0}

+ 1 - 1
toolchain/check/testdata/basics/raw_ir.carbon

@@ -41,7 +41,7 @@ fn Foo(n: i32) -> (i32, f64) {
 // CHECK:STDOUT:     inst+4:          {kind: Converted, arg0: inst+2, arg1: inst+3, type: typeTypeType}
 // CHECK:STDOUT:     inst+5:          {kind: VarStorage, arg0: nameReturnSlot, type: type3}
 // CHECK:STDOUT:     inst+6:          {kind: PointerType, arg0: type3, type: typeTypeType}
-// CHECK:STDOUT:     inst+7:          {kind: FunctionDeclaration, arg0: function0, type: type5}
+// CHECK:STDOUT:     inst+7:          {kind: FunctionDecl, arg0: function0, type: type5}
 // CHECK:STDOUT:     inst+8:          {kind: NameReference, arg0: name1, arg1: inst+0, type: type0}
 // CHECK:STDOUT:     inst+9:          {kind: IntegerLiteral, arg0: int3, type: type0}
 // CHECK:STDOUT:     inst+10:         {kind: BinaryOperatorAdd, arg0: inst+8, arg1: inst+9, type: type0}

+ 1 - 1
toolchain/check/testdata/basics/verbose.carbon

@@ -8,7 +8,7 @@
 // NOAUTOUPDATE
 // SET-CHECK-SUBSET
 // CHECK:STDERR: Node Push 0: FunctionIntroducer -> <none>
-// CHECK:STDERR: AddInst: {kind: FunctionDeclaration, arg0: {{.*}}, type: type{{[0-9]+}}}
+// CHECK:STDERR: AddInst: {kind: FunctionDecl, arg0: {{.*}}, type: type{{[0-9]+}}}
 // CHECK:STDERR: inst_block_stack_ Push 1
 // CHECK:STDERR: AddInst: {kind: Return}
 // CHECK:STDERR: inst_block_stack_ Pop 1: block{{[0-9]+}}

+ 1 - 1
toolchain/check/testdata/class/basic.carbon

@@ -27,7 +27,7 @@ fn Run() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "basic.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT:   %Run: <function> = fn_decl @Run

+ 1 - 1
toolchain/check/testdata/class/fail_addr_not_self.carbon

@@ -21,7 +21,7 @@ class Class {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_addr_not_self.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/class/fail_addr_self.carbon

@@ -45,7 +45,7 @@ fn F(c: Class, p: Class*) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_addr_self.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F.2
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/fail_incomplete.carbon

@@ -121,7 +121,7 @@ fn CallReturnIncomplete() {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_incomplete.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %.loc15: <function> = fn_decl @.1
 // CHECK:STDOUT:   %CallClassFunction: <function> = fn_decl @CallClassFunction

+ 1 - 1
toolchain/check/testdata/class/fail_init.carbon

@@ -33,7 +33,7 @@ fn F() {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_init.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/fail_init_as_inplace.carbon

@@ -29,7 +29,7 @@ fn F() {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_init_as_inplace.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT:   %F: <function> = fn_decl @F

+ 2 - 2
toolchain/check/testdata/class/fail_memaccess_category.carbon

@@ -43,9 +43,9 @@ fn F(s: {.a: A}, b: B) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_memaccess_category.carbon" {
-// CHECK:STDOUT:   class_declaration @A, ()
+// CHECK:STDOUT:   class_decl @A, ()
 // CHECK:STDOUT:   %A: type = class_type @A
-// CHECK:STDOUT:   class_declaration @B, ()
+// CHECK:STDOUT:   class_decl @B, ()
 // CHECK:STDOUT:   %B: type = class_type @B
 // CHECK:STDOUT:   %F: <function> = fn_decl @F.2
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/fail_member_of_let.carbon

@@ -26,7 +26,7 @@ fn T.F() {}
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_member_of_let.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %Class.ref: type = name_reference Class, %Class
 // CHECK:STDOUT:   %T: type = bind_name T, %Class.ref

+ 1 - 1
toolchain/check/testdata/class/fail_method.carbon

@@ -37,7 +37,7 @@ fn F(c: Class) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_method.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 9 - 9
toolchain/check/testdata/class/fail_redeclaration_scope.carbon

@@ -26,17 +26,17 @@ class Y {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_redeclaration_scope.carbon" {
-// CHECK:STDOUT:   class_declaration @A.1, ()
+// CHECK:STDOUT:   class_decl @A.1, ()
 // CHECK:STDOUT:   %A: type = class_type @A.1
-// CHECK:STDOUT:   class_declaration @X, ()
+// CHECK:STDOUT:   class_decl @X, ()
 // CHECK:STDOUT:   %X: type = class_type @X
-// CHECK:STDOUT:   class_declaration @A.1, ()
-// CHECK:STDOUT:   class_declaration @Y, ()
+// CHECK:STDOUT:   class_decl @A.1, ()
+// CHECK:STDOUT:   class_decl @Y, ()
 // CHECK:STDOUT:   %Y: type = class_type @Y
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @A.1 {
-// CHECK:STDOUT:   class_declaration @B.2, ()
+// CHECK:STDOUT:   class_decl @B.2, ()
 // CHECK:STDOUT:   %B: type = class_type @B.2
 // CHECK:STDOUT:
 // CHECK:STDOUT: !members:
@@ -44,16 +44,16 @@ class Y {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @X {
-// CHECK:STDOUT:   class_declaration @A.2, ()
+// CHECK:STDOUT:   class_decl @A.2, ()
 // CHECK:STDOUT:   %A: type = class_type @A.2
-// CHECK:STDOUT:   class_declaration @B.1, ()
+// CHECK:STDOUT:   class_decl @B.1, ()
 // CHECK:STDOUT:
 // CHECK:STDOUT: !members:
 // CHECK:STDOUT:   .A = <unexpected instref inst+4>
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @A.2 {
-// CHECK:STDOUT:   class_declaration @B.1, ()
+// CHECK:STDOUT:   class_decl @B.1, ()
 // CHECK:STDOUT:   %B: type = class_type @B.1
 // CHECK:STDOUT:
 // CHECK:STDOUT: !members:
@@ -68,7 +68,7 @@ class Y {
 // CHECK:STDOUT: class @B.2;
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @Y {
-// CHECK:STDOUT:   class_declaration @.1, ()
+// CHECK:STDOUT:   class_decl @.1, ()
 // CHECK:STDOUT:   %.loc21: type = class_type @.1
 // CHECK:STDOUT:
 // CHECK:STDOUT: !members:

+ 2 - 2
toolchain/check/testdata/class/fail_redefinition.carbon

@@ -29,9 +29,9 @@ fn Class.H() {}
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_redefinition.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT:   %H: <function> = fn_decl @H

+ 1 - 1
toolchain/check/testdata/class/fail_reorder.carbon

@@ -30,7 +30,7 @@ class Class {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_reorder.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/class/fail_scope.carbon

@@ -22,7 +22,7 @@ fn G() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_scope.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT: }

+ 2 - 2
toolchain/check/testdata/class/fail_self.carbon

@@ -57,11 +57,11 @@ fn CallWrongSelf(ws: WrongSelf) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_self.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F.1
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
-// CHECK:STDOUT:   class_declaration @WrongSelf, ()
+// CHECK:STDOUT:   class_decl @WrongSelf, ()
 // CHECK:STDOUT:   %WrongSelf: type = class_type @WrongSelf
 // CHECK:STDOUT:   %CallWrongSelf: <function> = fn_decl @CallWrongSelf
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/fail_unbound_field.carbon

@@ -26,7 +26,7 @@ fn G() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_unbound_field.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/fail_unknown_member.carbon

@@ -22,7 +22,7 @@ fn G(c: Class) -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_unknown_member.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/field_access.carbon

@@ -22,7 +22,7 @@ fn Run() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "field_access.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %Run: <function> = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/field_access_in_value.carbon

@@ -23,7 +23,7 @@ fn Run() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "field_access_in_value.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %Run: <function> = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/forward_declared.carbon

@@ -9,7 +9,7 @@ class Class;
 fn F(p: Class*) -> Class* { return p; }
 
 // CHECK:STDOUT: file "forward_declared.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/init.carbon

@@ -24,7 +24,7 @@ fn MakeReorder(n: i32, next: Class*) -> Class {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "init.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %Make: <function> = fn_decl @Make
 // CHECK:STDOUT:   %MakeReorder: <function> = fn_decl @MakeReorder

+ 1 - 1
toolchain/check/testdata/class/init_as.carbon

@@ -19,7 +19,7 @@ fn F() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "init_as.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 2 - 2
toolchain/check/testdata/class/init_nested.carbon

@@ -30,10 +30,10 @@ fn MakeOuter() -> Outer {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "init_nested.carbon" {
-// CHECK:STDOUT:   class_declaration @Inner, ()
+// CHECK:STDOUT:   class_decl @Inner, ()
 // CHECK:STDOUT:   %Inner: type = class_type @Inner
 // CHECK:STDOUT:   %MakeInner: <function> = fn_decl @MakeInner
-// CHECK:STDOUT:   class_declaration @Outer, ()
+// CHECK:STDOUT:   class_decl @Outer, ()
 // CHECK:STDOUT:   %Outer: type = class_type @Outer
 // CHECK:STDOUT:   %MakeOuter: <function> = fn_decl @MakeOuter
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/method.carbon

@@ -50,7 +50,7 @@ fn CallGOnInitializingExpr() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "method.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT:   %Call: <function> = fn_decl @Call

+ 2 - 2
toolchain/check/testdata/class/nested.carbon

@@ -36,13 +36,13 @@ fn F(a: Outer*) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "nested.carbon" {
-// CHECK:STDOUT:   class_declaration @Outer, ()
+// CHECK:STDOUT:   class_decl @Outer, ()
 // CHECK:STDOUT:   %Outer: type = class_type @Outer
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @Outer {
-// CHECK:STDOUT:   class_declaration @Inner, ()
+// CHECK:STDOUT:   class_decl @Inner, ()
 // CHECK:STDOUT:   %Inner: type = class_type @Inner
 // CHECK:STDOUT:   %Self.ref: type = name_reference Self, file.%Outer
 // CHECK:STDOUT:   %.loc14_15: type = ptr_type Outer

+ 2 - 2
toolchain/check/testdata/class/nested_name.carbon

@@ -27,14 +27,14 @@ fn G(o: Outer) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "nested_name.carbon" {
-// CHECK:STDOUT:   class_declaration @Outer, ()
+// CHECK:STDOUT:   class_decl @Outer, ()
 // CHECK:STDOUT:   %Outer: type = class_type @Outer
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT:   %G: <function> = fn_decl @G
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: class @Outer {
-// CHECK:STDOUT:   class_declaration @Inner, ()
+// CHECK:STDOUT:   class_decl @Inner, ()
 // CHECK:STDOUT:   %Inner: type = class_type @Inner
 // CHECK:STDOUT:
 // CHECK:STDOUT: !members:

+ 2 - 2
toolchain/check/testdata/class/redeclaration.carbon

@@ -17,9 +17,9 @@ fn Class.F() {}
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "redeclaration.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/class/reenter_scope.carbon

@@ -18,7 +18,7 @@ fn Class.F() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "reenter_scope.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/scope.carbon

@@ -27,7 +27,7 @@ fn Run() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "scope.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F.2
 // CHECK:STDOUT:   %Run: <function> = fn_decl @Run

+ 1 - 1
toolchain/check/testdata/class/self.carbon

@@ -25,7 +25,7 @@ fn Class.G[addr self: Class*]() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "self.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT:   %G: <function> = fn_decl @G

+ 1 - 1
toolchain/check/testdata/class/self_type.carbon

@@ -22,7 +22,7 @@ fn Class.F[self: Class]() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "self_type.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/class/static_method.carbon

@@ -20,7 +20,7 @@ fn Run() -> i32 {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "static_method.carbon" {
-// CHECK:STDOUT:   class_declaration @Class, ()
+// CHECK:STDOUT:   class_decl @Class, ()
 // CHECK:STDOUT:   %Class: type = class_type @Class
 // CHECK:STDOUT:   %Run: <function> = fn_decl @Run
 // CHECK:STDOUT: }

+ 1 - 1
toolchain/check/testdata/if_expression/fail_not_in_function.carbon

@@ -40,7 +40,7 @@ class C {
 // CHECK:STDOUT: file "fail_not_in_function.carbon" {
 // CHECK:STDOUT:   %.loc17: i32 = block_arg <unexpected instblockref block4>
 // CHECK:STDOUT:   %x: i32 = bind_name x, %.loc17
-// CHECK:STDOUT:   class_declaration @C, ()
+// CHECK:STDOUT:   class_decl @C, ()
 // CHECK:STDOUT:   %C: type = class_type @C
 // CHECK:STDOUT: }
 // CHECK:STDOUT:

+ 1 - 1
toolchain/check/testdata/struct/fail_nested_incomplete.carbon

@@ -24,7 +24,7 @@ var p: Incomplete* = &s.a;
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_nested_incomplete.carbon" {
-// CHECK:STDOUT:   class_declaration @Incomplete, ()
+// CHECK:STDOUT:   class_decl @Incomplete, ()
 // CHECK:STDOUT:   %Incomplete: type = class_type @Incomplete
 // CHECK:STDOUT:   %Incomplete.ref.loc15: type = name_reference Incomplete, %Incomplete
 // CHECK:STDOUT:   %.loc15: type = struct_type {.a: Incomplete}

+ 1 - 1
toolchain/check/testdata/tuples/fail_nested_incomplete.carbon

@@ -26,7 +26,7 @@ var p: Incomplete* = &t[1];
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_nested_incomplete.carbon" {
-// CHECK:STDOUT:   class_declaration @Incomplete, ()
+// CHECK:STDOUT:   class_decl @Incomplete, ()
 // CHECK:STDOUT:   %Incomplete: type = class_type @Incomplete
 // CHECK:STDOUT:   %Incomplete.ref.loc15: type = name_reference Incomplete, %Incomplete
 // CHECK:STDOUT:   %.loc15_24.1: (type, type) = tuple_literal (i32, %Incomplete.ref.loc15)

+ 1 - 1
toolchain/check/testdata/var/fail_not_copyable.carbon

@@ -30,7 +30,7 @@ fn F(x: X) {
 // CHECK:STDOUT: }
 // CHECK:STDOUT:
 // CHECK:STDOUT: file "fail_not_copyable.carbon" {
-// CHECK:STDOUT:   class_declaration @X, ()
+// CHECK:STDOUT:   class_decl @X, ()
 // CHECK:STDOUT:   %X: type = class_type @X
 // CHECK:STDOUT:   %F: <function> = fn_decl @F
 // CHECK:STDOUT: }

+ 13 - 13
toolchain/diagnostics/diagnostic_kind.def

@@ -70,7 +70,7 @@ CARBON_DIAGNOSTIC_KIND(ExpectedParenAfter)
 CARBON_DIAGNOSTIC_KIND(ExpectedExprSemi)
 CARBON_DIAGNOSTIC_KIND(ExpectedStatementSemi)
 CARBON_DIAGNOSTIC_KIND(ExpectedStructLiteralField)
-CARBON_DIAGNOSTIC_KIND(ExpectedVariableDeclaration)
+CARBON_DIAGNOSTIC_KIND(ExpectedVariableDecl)
 CARBON_DIAGNOSTIC_KIND(ExpectedVariableName)
 CARBON_DIAGNOSTIC_KIND(OperatorRequiresParentheses)
 CARBON_DIAGNOSTIC_KIND(StatementOperatorAsSubexpr)
@@ -78,10 +78,10 @@ CARBON_DIAGNOSTIC_KIND(UnaryOperatorRequiresParentheses)
 CARBON_DIAGNOSTIC_KIND(UnaryOperatorHasWhitespace)
 CARBON_DIAGNOSTIC_KIND(UnaryOperatorRequiresWhitespace)
 CARBON_DIAGNOSTIC_KIND(UnexpectedTokenAfterListElement)
-CARBON_DIAGNOSTIC_KIND(UnrecognizedDeclaration)
+CARBON_DIAGNOSTIC_KIND(UnrecognizedDecl)
 
 // Package-related diagnostics.
-CARBON_DIAGNOSTIC_KIND(FirstDeclaration)
+CARBON_DIAGNOSTIC_KIND(FirstDecl)
 CARBON_DIAGNOSTIC_KIND(FirstNonCommentLine)
 CARBON_DIAGNOSTIC_KIND(PackageTooLate)
 CARBON_DIAGNOSTIC_KIND(ImportTooLate)
@@ -99,9 +99,9 @@ CARBON_DIAGNOSTIC_KIND(ExpectedThenAfterIf)
 CARBON_DIAGNOSTIC_KIND(ExpectedElseAfterIf)
 
 // Declaration diagnostics.
-CARBON_DIAGNOSTIC_KIND(ExpectedDeclarationName)
-CARBON_DIAGNOSTIC_KIND(ExpectedDeclarationSemi)
-CARBON_DIAGNOSTIC_KIND(ExpectedDeclarationSemiOrDefinition)
+CARBON_DIAGNOSTIC_KIND(ExpectedDeclName)
+CARBON_DIAGNOSTIC_KIND(ExpectedDeclSemi)
+CARBON_DIAGNOSTIC_KIND(ExpectedDeclSemiOrDefinition)
 CARBON_DIAGNOSTIC_KIND(ExpectedInitializerAfterLet)
 CARBON_DIAGNOSTIC_KIND(MethodImplNotAllowed)
 CARBON_DIAGNOSTIC_KIND(ParametersRequiredAfterImplicit)
@@ -140,18 +140,18 @@ CARBON_DIAGNOSTIC_KIND(DereferenceOfType)
 CARBON_DIAGNOSTIC_KIND(FunctionPreviousDefinition)
 CARBON_DIAGNOSTIC_KIND(FunctionRedefinition)
 CARBON_DIAGNOSTIC_KIND(NameNotFound)
-CARBON_DIAGNOSTIC_KIND(NameDeclarationDuplicate)
-CARBON_DIAGNOSTIC_KIND(NameDeclarationPrevious)
+CARBON_DIAGNOSTIC_KIND(NameDeclDuplicate)
+CARBON_DIAGNOSTIC_KIND(NameDeclPrevious)
 CARBON_DIAGNOSTIC_KIND(MissingReturnStatement)
 CARBON_DIAGNOSTIC_KIND(RepeatedConst)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInConversion)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInFunctionParam)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInFunctionReturnType)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInInitialization)
-CARBON_DIAGNOSTIC_KIND(IncompleteTypeInLetDeclaration)
+CARBON_DIAGNOSTIC_KIND(IncompleteTypeInLetDecl)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInMemberAccess)
 CARBON_DIAGNOSTIC_KIND(IncompleteTypeInValueConversion)
-CARBON_DIAGNOSTIC_KIND(IncompleteTypeInVarDeclaration)
+CARBON_DIAGNOSTIC_KIND(IncompleteTypeInVarDecl)
 CARBON_DIAGNOSTIC_KIND(InvalidArrayExpr)
 CARBON_DIAGNOSTIC_KIND(TypeNotIndexable)
 CARBON_DIAGNOSTIC_KIND(IndexOutOfBounds)
@@ -168,9 +168,9 @@ CARBON_DIAGNOSTIC_KIND(ReturnStatementMissingExpr)
 CARBON_DIAGNOSTIC_KIND(ImplicitAsConversionFailure)
 CARBON_DIAGNOSTIC_KIND(ExplicitAsConversionFailure)
 CARBON_DIAGNOSTIC_KIND(TypeExprEvaluationFailure)
-CARBON_DIAGNOSTIC_KIND(QualifiedDeclarationInIncompleteClassScope)
-CARBON_DIAGNOSTIC_KIND(QualifiedDeclarationInNonScope)
-CARBON_DIAGNOSTIC_KIND(QualifiedDeclarationNonScopeEntity)
+CARBON_DIAGNOSTIC_KIND(QualifiedDeclInIncompleteClassScope)
+CARBON_DIAGNOSTIC_KIND(QualifiedDeclInNonScope)
+CARBON_DIAGNOSTIC_KIND(QualifiedDeclNonScopeEntity)
 CARBON_DIAGNOSTIC_KIND(QualifiedExprInIncompleteClassScope)
 CARBON_DIAGNOSTIC_KIND(QualifiedExprUnsupported)
 CARBON_DIAGNOSTIC_KIND(QualifiedExprNameNotFound)

+ 1 - 1
toolchain/diagnostics/diagnostic_kind.h

@@ -29,7 +29,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(DiagnosticKind, uint16_t) {
 // to the consuming code.
 class DiagnosticKind : public CARBON_ENUM_BASE(DiagnosticKind) {
  public:
-#define CARBON_DIAGNOSTIC_KIND(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+#define CARBON_DIAGNOSTIC_KIND(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 #include "toolchain/diagnostics/diagnostic_kind.def"
 };
 

+ 1 - 1
toolchain/lex/token_kind.h

@@ -22,7 +22,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(TokenKind, uint8_t) {
 
 class TokenKind : public CARBON_ENUM_BASE(TokenKind) {
  public:
-#define CARBON_TOKEN(TokenName) CARBON_ENUM_CONSTANT_DECLARATION(TokenName)
+#define CARBON_TOKEN(TokenName) CARBON_ENUM_CONSTANT_DECL(TokenName)
 #include "toolchain/lex/token_kind.def"
 
   // An array of all the keyword tokens.

+ 4 - 4
toolchain/lower/file_context.cpp

@@ -41,7 +41,7 @@ auto FileContext::Run() -> std::unique_ptr<llvm::Module> {
   // Lower function declarations.
   functions_.resize_for_overwrite(sem_ir_->functions().size());
   for (auto i : llvm::seq(sem_ir_->functions().size())) {
-    functions_[i] = BuildFunctionDeclaration(SemIR::FunctionId(i));
+    functions_[i] = BuildFunctionDecl(SemIR::FunctionId(i));
   }
 
   // TODO: Lower global variable declarations.
@@ -63,7 +63,7 @@ auto FileContext::GetGlobal(SemIR::InstId inst_id) -> llvm::Value* {
   }
 
   auto target = sem_ir().insts().Get(inst_id);
-  if (auto function_decl = target.TryAs<SemIR::FunctionDeclaration>()) {
+  if (auto function_decl = target.TryAs<SemIR::FunctionDecl>()) {
     return GetFunction(function_decl->function_id);
   }
 
@@ -74,7 +74,7 @@ auto FileContext::GetGlobal(SemIR::InstId inst_id) -> llvm::Value* {
   CARBON_FATAL() << "Missing value: " << inst_id << " " << target;
 }
 
-auto FileContext::BuildFunctionDeclaration(SemIR::FunctionId function_id)
+auto FileContext::BuildFunctionDecl(SemIR::FunctionId function_id)
     -> llvm::Function* {
   const auto& function = sem_ir().functions().Get(function_id);
   const bool has_return_slot = function.return_slot_id.is_valid();
@@ -186,7 +186,7 @@ auto FileContext::BuildFunctionDefinition(SemIR::FunctionId function_id)
 
   // Add parameters to locals.
   // TODO: This duplicates the mapping between sem_ir instructions and LLVM
-  // function parameters that was already computed in BuildFunctionDeclaration.
+  // function parameters that was already computed in BuildFunctionDecl.
   // We should only do that once.
   auto implicit_param_refs =
       sem_ir().inst_blocks().Get(function.implicit_param_refs_id);

+ 1 - 2
toolchain/lower/file_context.h

@@ -56,8 +56,7 @@ class FileContext {
  private:
   // Builds the declaration for the given function, which should then be cached
   // by the caller.
-  auto BuildFunctionDeclaration(SemIR::FunctionId function_id)
-      -> llvm::Function*;
+  auto BuildFunctionDecl(SemIR::FunctionId function_id) -> llvm::Function*;
 
   // Builds the definition for the given function. If the function is only a
   // declaration with no definition, does nothing.

+ 2 - 3
toolchain/lower/handle.cpp

@@ -179,9 +179,8 @@ auto HandleDereference(FunctionContext& context, SemIR::InstId inst_id,
   context.SetLocal(inst_id, context.GetValue(inst.pointer_id));
 }
 
-auto HandleFunctionDeclaration(FunctionContext& /*context*/,
-                               SemIR::InstId /*inst_id*/,
-                               SemIR::FunctionDeclaration inst) -> void {
+auto HandleFunctionDecl(FunctionContext& /*context*/, SemIR::InstId /*inst_id*/,
+                        SemIR::FunctionDecl inst) -> void {
   CARBON_FATAL()
       << "Should not be encountered. If that changes, we may want to change "
          "higher-level logic to skip them rather than calling this. "

+ 2 - 3
toolchain/lower/handle_aggregates.cpp

@@ -13,9 +13,8 @@
 
 namespace Carbon::Lower {
 
-auto HandleClassDeclaration(FunctionContext& /*context*/,
-                            SemIR::InstId /*inst_id*/,
-                            SemIR::ClassDeclaration /*inst*/) -> void {
+auto HandleClassDecl(FunctionContext& /*context*/, SemIR::InstId /*inst_id*/,
+                     SemIR::ClassDecl /*inst*/) -> void {
   // No action to perform.
 }
 

+ 20 - 22
toolchain/parse/context.cpp

@@ -391,33 +391,33 @@ auto Context::ConsumeListToken(NodeKind comma_kind, Lex::TokenKind close_kind,
   }
 }
 
-auto Context::GetDeclarationContext() -> DeclarationContext {
-  // i == 0 is the file-level DeclarationScopeLoop. Additionally, i == 1 can be
-  // skipped because it will never be a DeclarationScopeLoop.
+auto Context::GetDeclContext() -> DeclContext {
+  // i == 0 is the file-level DeclScopeLoop. Additionally, i == 1 can be
+  // skipped because it will never be a DeclScopeLoop.
   for (int i = state_stack_.size() - 1; i > 1; --i) {
     // The declaration context is always the state _above_ a
-    // DeclarationScopeLoop.
-    if (state_stack_[i].state == State::DeclarationScopeLoop) {
+    // DeclScopeLoop.
+    if (state_stack_[i].state == State::DeclScopeLoop) {
       switch (state_stack_[i - 1].state) {
         case State::TypeDefinitionFinishAsClass:
-          return DeclarationContext::Class;
+          return DeclContext::Class;
         case State::TypeDefinitionFinishAsInterface:
-          return DeclarationContext::Interface;
+          return DeclContext::Interface;
         case State::TypeDefinitionFinishAsNamedConstraint:
-          return DeclarationContext::NamedConstraint;
+          return DeclContext::NamedConstraint;
         default:
           llvm_unreachable("Missing handling for a declaration scope");
       }
     }
   }
   CARBON_CHECK(!state_stack_.empty() &&
-               state_stack_[0].state == State::DeclarationScopeLoop);
-  return DeclarationContext::File;
+               state_stack_[0].state == State::DeclScopeLoop);
+  return DeclContext::File;
 }
 
-auto Context::RecoverFromDeclarationError(StateStackEntry state,
-                                          NodeKind parse_node_kind,
-                                          bool skip_past_likely_end) -> void {
+auto Context::RecoverFromDeclError(StateStackEntry state,
+                                   NodeKind parse_node_kind,
+                                   bool skip_past_likely_end) -> void {
   auto token = state.token;
   if (skip_past_likely_end) {
     if (auto semi = SkipPastLikelyEnd(token)) {
@@ -428,21 +428,19 @@ auto Context::RecoverFromDeclarationError(StateStackEntry state,
           /*has_error=*/true);
 }
 
-auto Context::EmitExpectedDeclarationSemi(Lex::TokenKind expected_kind)
-    -> void {
-  CARBON_DIAGNOSTIC(ExpectedDeclarationSemi, Error,
+auto Context::EmitExpectedDeclSemi(Lex::TokenKind expected_kind) -> void {
+  CARBON_DIAGNOSTIC(ExpectedDeclSemi, Error,
                     "`{0}` declarations must end with a `;`.", Lex::TokenKind);
-  emitter().Emit(*position(), ExpectedDeclarationSemi, expected_kind);
+  emitter().Emit(*position(), ExpectedDeclSemi, expected_kind);
 }
 
-auto Context::EmitExpectedDeclarationSemiOrDefinition(
-    Lex::TokenKind expected_kind) -> void {
-  CARBON_DIAGNOSTIC(ExpectedDeclarationSemiOrDefinition, Error,
+auto Context::EmitExpectedDeclSemiOrDefinition(Lex::TokenKind expected_kind)
+    -> void {
+  CARBON_DIAGNOSTIC(ExpectedDeclSemiOrDefinition, Error,
                     "`{0}` declarations must either end with a `;` or "
                     "have a `{{ ... }` block for a definition.",
                     Lex::TokenKind);
-  emitter().Emit(*position(), ExpectedDeclarationSemiOrDefinition,
-                 expected_kind);
+  emitter().Emit(*position(), ExpectedDeclSemiOrDefinition, expected_kind);
 }
 
 auto Context::PrintForStackDump(llvm::raw_ostream& output) const -> void {

+ 10 - 12
toolchain/parse/context.h

@@ -36,8 +36,8 @@ class Context {
     Let
   };
 
-  // Supported return values for GetDeclarationContext.
-  enum class DeclarationContext : int8_t {
+  // Supported return values for GetDeclContext.
+  enum class DeclContext : int8_t {
     File,  // Top-level context.
     Class,
     Interface,
@@ -48,11 +48,11 @@ class Context {
   enum class PackagingState : int8_t {
     StartOfFile,
     InImports,
-    AfterNonPackagingDeclaration,
+    AfterNonPackagingDecl,
     // A warning about `import` placement has been issued so we don't keep
     // issuing more (when `import` is repeated) until more non-`import`
     // declarations come up.
-    InImportsAfterNonPackagingDeclaration,
+    InImportsAfterNonPackagingDecl,
   };
 
   // Used to track state on state_stack_.
@@ -266,8 +266,8 @@ class Context {
   // parses should only need to look down a couple steps.
   //
   // This currently assumes it's being called from within the declaration's
-  // DeclarationScopeLoop.
-  auto GetDeclarationContext() -> DeclarationContext;
+  // DeclScopeLoop.
+  auto GetDeclContext() -> DeclContext;
 
   // Propagates an error up the state stack, to the parent state.
   auto ReturnErrorOnState() -> void { state_stack_.back().has_error = true; }
@@ -277,19 +277,17 @@ class Context {
                                State keyword_state, int subtree_start) -> void;
 
   // Emits a diagnostic for a declaration missing a semi.
-  auto EmitExpectedDeclarationSemi(Lex::TokenKind expected_kind) -> void;
+  auto EmitExpectedDeclSemi(Lex::TokenKind expected_kind) -> void;
 
   // Emits a diagnostic for a declaration missing a semi or definition.
-  auto EmitExpectedDeclarationSemiOrDefinition(Lex::TokenKind expected_kind)
-      -> void;
+  auto EmitExpectedDeclSemiOrDefinition(Lex::TokenKind expected_kind) -> void;
 
   // Handles error recovery in a declaration, particularly before any possible
   // definition has started (although one could be present). Recover to a
   // semicolon when it makes sense as a possible end, otherwise use the
   // introducer token for the error.
-  auto RecoverFromDeclarationError(StateStackEntry state,
-                                   NodeKind parse_node_kind,
-                                   bool skip_past_likely_end) -> void;
+  auto RecoverFromDeclError(StateStackEntry state, NodeKind parse_node_kind,
+                            bool skip_past_likely_end) -> void;
 
   // Prints information for a stack dump.
   auto PrintForStackDump(llvm::raw_ostream& output) const -> void;

+ 23 - 28
toolchain/parse/handle_declaration_name_and_params.cpp

@@ -6,8 +6,8 @@
 
 namespace Carbon::Parse {
 
-// Handles DeclarationNameAndParamsAs(Optional|Required).
-static auto HandleDeclarationNameAndParams(Context& context, State after_name)
+// Handles DeclNameAndParamsAs(Optional|Required).
+static auto HandleDeclNameAndParams(Context& context, State after_name)
     -> void {
   auto state = context.PopState();
 
@@ -18,16 +18,16 @@ static auto HandleDeclarationNameAndParams(Context& context, State after_name)
 
     if (context.PositionIs(Lex::TokenKind::Period)) {
       context.AddLeafNode(NodeKind::Name, *identifier);
-      state.state = State::PeriodAsDeclaration;
+      state.state = State::PeriodAsDecl;
       context.PushState(state);
     } else {
       context.AddLeafNode(NodeKind::Name, *identifier);
     }
   } else {
-    CARBON_DIAGNOSTIC(ExpectedDeclarationName, Error,
+    CARBON_DIAGNOSTIC(ExpectedDeclName, Error,
                       "`{0}` introducer should be followed by a name.",
                       Lex::TokenKind);
-    context.emitter().Emit(*context.position(), ExpectedDeclarationName,
+    context.emitter().Emit(*context.position(), ExpectedDeclName,
                            context.tokens().GetKind(state.token));
     context.ReturnErrorOnState();
     context.AddLeafNode(NodeKind::InvalidParse, *context.position(),
@@ -35,19 +35,16 @@ static auto HandleDeclarationNameAndParams(Context& context, State after_name)
   }
 }
 
-auto HandleDeclarationNameAndParamsAsNone(Context& context) -> void {
-  HandleDeclarationNameAndParams(
-      context, State::DeclarationNameAndParamsAfterNameAsNone);
+auto HandleDeclNameAndParamsAsNone(Context& context) -> void {
+  HandleDeclNameAndParams(context, State::DeclNameAndParamsAfterNameAsNone);
 }
 
-auto HandleDeclarationNameAndParamsAsOptional(Context& context) -> void {
-  HandleDeclarationNameAndParams(
-      context, State::DeclarationNameAndParamsAfterNameAsOptional);
+auto HandleDeclNameAndParamsAsOptional(Context& context) -> void {
+  HandleDeclNameAndParams(context, State::DeclNameAndParamsAfterNameAsOptional);
 }
 
-auto HandleDeclarationNameAndParamsAsRequired(Context& context) -> void {
-  HandleDeclarationNameAndParams(
-      context, State::DeclarationNameAndParamsAfterNameAsRequired);
+auto HandleDeclNameAndParamsAsRequired(Context& context) -> void {
+  HandleDeclNameAndParams(context, State::DeclNameAndParamsAfterNameAsRequired);
 }
 
 enum class Params : int8_t {
@@ -56,14 +53,14 @@ enum class Params : int8_t {
   Required,
 };
 
-static auto HandleDeclarationNameAndParamsAfterName(Context& context,
-                                                    Params params) -> void {
+static auto HandleDeclNameAndParamsAfterName(Context& context, Params params)
+    -> void {
   auto state = context.PopState();
 
   if (context.PositionIs(Lex::TokenKind::Period)) {
     // Continue designator processing.
     context.PushState(state);
-    state.state = State::PeriodAsDeclaration;
+    state.state = State::PeriodAsDecl;
     context.PushState(state);
     return;
   }
@@ -73,7 +70,7 @@ static auto HandleDeclarationNameAndParamsAfterName(Context& context,
   //
   //   fn Class(T:! type).AnotherClass(U:! type).Function(v: T) {}
   //
-  // We should retain a `DeclarationNameAndParams...` state on the stack in all
+  // We should retain a `DeclNameAndParams...` state on the stack in all
   // cases below to check for a period after a parameter list, which indicates
   // that we've not finished parsing the declaration name.
 
@@ -82,7 +79,7 @@ static auto HandleDeclarationNameAndParamsAfterName(Context& context,
   }
 
   if (context.PositionIs(Lex::TokenKind::OpenSquareBracket)) {
-    context.PushState(State::DeclarationNameAndParamsAfterImplicit);
+    context.PushState(State::DeclNameAndParamsAfterImplicit);
     context.PushState(State::ParameterListAsImplicit);
   } else if (context.PositionIs(Lex::TokenKind::OpenParen)) {
     context.PushState(State::ParameterListAsRegular);
@@ -95,21 +92,19 @@ static auto HandleDeclarationNameAndParamsAfterName(Context& context,
   }
 }
 
-auto HandleDeclarationNameAndParamsAfterNameAsNone(Context& context) -> void {
-  HandleDeclarationNameAndParamsAfterName(context, Params::None);
+auto HandleDeclNameAndParamsAfterNameAsNone(Context& context) -> void {
+  HandleDeclNameAndParamsAfterName(context, Params::None);
 }
 
-auto HandleDeclarationNameAndParamsAfterNameAsOptional(Context& context)
-    -> void {
-  HandleDeclarationNameAndParamsAfterName(context, Params::Optional);
+auto HandleDeclNameAndParamsAfterNameAsOptional(Context& context) -> void {
+  HandleDeclNameAndParamsAfterName(context, Params::Optional);
 }
 
-auto HandleDeclarationNameAndParamsAfterNameAsRequired(Context& context)
-    -> void {
-  HandleDeclarationNameAndParamsAfterName(context, Params::Required);
+auto HandleDeclNameAndParamsAfterNameAsRequired(Context& context) -> void {
+  HandleDeclNameAndParamsAfterName(context, Params::Required);
 }
 
-auto HandleDeclarationNameAndParamsAfterImplicit(Context& context) -> void {
+auto HandleDeclNameAndParamsAfterImplicit(Context& context) -> void {
   context.PopAndDiscardState();
 
   if (context.PositionIs(Lex::TokenKind::OpenParen)) {

+ 10 - 10
toolchain/parse/handle_declaration_scope_loop.cpp

@@ -7,19 +7,19 @@
 namespace Carbon::Parse {
 
 // Handles an unrecognized declaration, adding an error node.
-static auto HandleUnrecognizedDeclaration(Context& context) -> void {
-  CARBON_DIAGNOSTIC(UnrecognizedDeclaration, Error,
+static auto HandleUnrecognizedDecl(Context& context) -> void {
+  CARBON_DIAGNOSTIC(UnrecognizedDecl, Error,
                     "Unrecognized declaration introducer.");
-  context.emitter().Emit(*context.position(), UnrecognizedDeclaration);
+  context.emitter().Emit(*context.position(), UnrecognizedDecl);
   auto cursor = *context.position();
   auto semi = context.SkipPastLikelyEnd(cursor);
-  // Locate the EmptyDeclaration at the semi when found, but use the
+  // Locate the EmptyDecl at the semi when found, but use the
   // original cursor location for an error when not.
-  context.AddLeafNode(NodeKind::EmptyDeclaration, semi ? *semi : cursor,
+  context.AddLeafNode(NodeKind::EmptyDecl, semi ? *semi : cursor,
                       /*has_error=*/true);
 }
 
-auto HandleDeclarationScopeLoop(Context& context) -> void {
+auto HandleDeclScopeLoop(Context& context) -> void {
   // This maintains the current state unless we're at the end of the scope.
 
   switch (auto position_kind = context.PositionKind()) {
@@ -42,12 +42,12 @@ auto HandleDeclarationScopeLoop(Context& context) -> void {
       // Because a non-packaging keyword was encountered, packaging is complete.
       // Misplaced packaging keywords may lead to this being re-triggered.
       if (context.packaging_state() !=
-          Context::PackagingState::AfterNonPackagingDeclaration) {
+          Context::PackagingState::AfterNonPackagingDecl) {
         if (!context.first_non_packaging_token().is_valid()) {
           context.set_first_non_packaging_token(*context.position());
         }
         context.set_packaging_state(
-            Context::PackagingState::AfterNonPackagingDeclaration);
+            Context::PackagingState::AfterNonPackagingDecl);
       }
       switch (position_kind) {
         // Remaining keywords are only valid after imports are complete, and
@@ -74,7 +74,7 @@ auto HandleDeclarationScopeLoop(Context& context) -> void {
           break;
         }
         case Lex::TokenKind::Semi: {
-          context.AddLeafNode(NodeKind::EmptyDeclaration, context.Consume());
+          context.AddLeafNode(NodeKind::EmptyDecl, context.Consume());
           break;
         }
         case Lex::TokenKind::Var: {
@@ -86,7 +86,7 @@ auto HandleDeclarationScopeLoop(Context& context) -> void {
           break;
         }
         default: {
-          HandleUnrecognizedDeclaration(context);
+          HandleUnrecognizedDecl(context);
           break;
         }
       }

+ 10 - 11
toolchain/parse/handle_function.cpp

@@ -13,7 +13,7 @@ auto HandleFunctionIntroducer(Context& context) -> void {
 
   state.state = State::FunctionAfterParameters;
   context.PushState(state);
-  context.PushState(State::DeclarationNameAndParamsAsRequired, state.token);
+  context.PushState(State::DeclNameAndParamsAsRequired, state.token);
 }
 
 auto HandleFunctionAfterParameters(Context& context) -> void {
@@ -44,21 +44,20 @@ auto HandleFunctionSignatureFinish(Context& context) -> void {
 
   switch (context.PositionKind()) {
     case Lex::TokenKind::Semi: {
-      context.AddNode(NodeKind::FunctionDeclaration, context.Consume(),
+      context.AddNode(NodeKind::FunctionDecl, context.Consume(),
                       state.subtree_start, state.has_error);
       break;
     }
     case Lex::TokenKind::OpenCurlyBrace: {
-      if (auto decl_context = context.GetDeclarationContext();
-          decl_context == Context::DeclarationContext::Interface ||
-          decl_context == Context::DeclarationContext::NamedConstraint) {
+      if (auto decl_context = context.GetDeclContext();
+          decl_context == Context::DeclContext::Interface ||
+          decl_context == Context::DeclContext::NamedConstraint) {
         CARBON_DIAGNOSTIC(
             MethodImplNotAllowed, Error,
             "Method implementations are not allowed in interfaces.");
         context.emitter().Emit(*context.position(), MethodImplNotAllowed);
-        context.RecoverFromDeclarationError(state,
-                                            NodeKind::FunctionDeclaration,
-                                            /*skip_past_likely_end=*/true);
+        context.RecoverFromDeclError(state, NodeKind::FunctionDecl,
+                                     /*skip_past_likely_end=*/true);
         break;
       }
 
@@ -73,14 +72,14 @@ auto HandleFunctionSignatureFinish(Context& context) -> void {
     }
     default: {
       if (!state.has_error) {
-        context.EmitExpectedDeclarationSemiOrDefinition(Lex::TokenKind::Fn);
+        context.EmitExpectedDeclSemiOrDefinition(Lex::TokenKind::Fn);
       }
       // Only need to skip if we've not already found a new line.
       bool skip_past_likely_end =
           context.tokens().GetLine(*context.position()) ==
           context.tokens().GetLine(state.token);
-      context.RecoverFromDeclarationError(state, NodeKind::FunctionDeclaration,
-                                          skip_past_likely_end);
+      context.RecoverFromDeclError(state, NodeKind::FunctionDecl,
+                                   skip_past_likely_end);
       break;
     }
   }

+ 6 - 6
toolchain/parse/handle_import_and_package.cpp

@@ -84,7 +84,7 @@ static auto HandleImportAndPackage(Context& context,
   }
 
   if (!context.PositionIs(Lex::TokenKind::Semi)) {
-    context.EmitExpectedDeclarationSemi(context.tokens().GetKind(state.token));
+    context.EmitExpectedDeclSemi(context.tokens().GetKind(state.token));
     ExitOnParseError(context, state, directive);
     return;
   }
@@ -110,22 +110,22 @@ auto HandleImport(Context& context) -> void {
                              /*expect_api_or_impl=*/false);
       break;
 
-    case Context::PackagingState::AfterNonPackagingDeclaration: {
+    case Context::PackagingState::AfterNonPackagingDecl: {
       context.set_packaging_state(
-          Context::PackagingState::InImportsAfterNonPackagingDeclaration);
+          Context::PackagingState::InImportsAfterNonPackagingDecl);
       CARBON_DIAGNOSTIC(
           ImportTooLate, Error,
           "`import` directives must come after the `package` directive (if "
           "present) and before any other entities in the file.");
-      CARBON_DIAGNOSTIC(FirstDeclaration, Note, "First declaration is here.");
+      CARBON_DIAGNOSTIC(FirstDecl, Note, "First declaration is here.");
       context.emitter()
           .Build(intro_token, ImportTooLate)
-          .Note(context.first_non_packaging_token(), FirstDeclaration)
+          .Note(context.first_non_packaging_token(), FirstDecl)
           .Emit();
       ExitOnParseError(context, state, NodeKind::ImportDirective);
       break;
     }
-    case Context::PackagingState::InImportsAfterNonPackagingDeclaration:
+    case Context::PackagingState::InImportsAfterNonPackagingDecl:
       // There is a sequential block of misplaced `import` statements, which can
       // occur if a declaration is added above `import`s. Avoid duplicate
       // warnings.

+ 2 - 2
toolchain/parse/handle_let.cpp

@@ -48,13 +48,13 @@ auto HandleLetFinish(Context& context) -> void {
   if (context.PositionIs(Lex::TokenKind::Semi)) {
     end_token = context.Consume();
   } else {
-    context.EmitExpectedDeclarationSemi(Lex::TokenKind::Let);
+    context.EmitExpectedDeclSemi(Lex::TokenKind::Let);
     state.has_error = true;
     if (auto semi_token = context.SkipPastLikelyEnd(state.token)) {
       end_token = *semi_token;
     }
   }
-  context.AddNode(NodeKind::LetDeclaration, end_token, state.subtree_start,
+  context.AddNode(NodeKind::LetDecl, end_token, state.subtree_start,
                   state.has_error);
 }
 

+ 6 - 6
toolchain/parse/handle_namespace.cpp

@@ -14,15 +14,15 @@ auto HandleNamespace(Context& context) -> void {
   state.state = State::NamespaceFinish;
   context.PushState(state);
 
-  context.PushState(State::DeclarationNameAndParamsAsNone, state.token);
+  context.PushState(State::DeclNameAndParamsAsNone, state.token);
 }
 
 auto HandleNamespaceFinish(Context& context) -> void {
   auto state = context.PopState();
 
   if (state.has_error) {
-    context.RecoverFromDeclarationError(state, NodeKind::Namespace,
-                                        /*skip_past_likely_end=*/true);
+    context.RecoverFromDeclError(state, NodeKind::Namespace,
+                                 /*skip_past_likely_end=*/true);
     return;
   }
 
@@ -30,9 +30,9 @@ auto HandleNamespaceFinish(Context& context) -> void {
     context.AddNode(NodeKind::Namespace, *semi, state.subtree_start,
                     state.has_error);
   } else {
-    context.EmitExpectedDeclarationSemi(Lex::TokenKind::Namespace);
-    context.RecoverFromDeclarationError(state, NodeKind::Namespace,
-                                        /*skip_past_likely_end=*/true);
+    context.EmitExpectedDeclSemi(Lex::TokenKind::Namespace);
+    context.RecoverFromDeclError(state, NodeKind::Namespace,
+                                 /*skip_past_likely_end=*/true);
   }
 }
 

+ 2 - 2
toolchain/parse/handle_period.cpp

@@ -41,8 +41,8 @@ static auto HandlePeriodOrArrow(Context& context, NodeKind node_kind,
   context.AddNode(node_kind, dot, state.subtree_start, state.has_error);
 }
 
-auto HandlePeriodAsDeclaration(Context& context) -> void {
-  HandlePeriodOrArrow(context, NodeKind::QualifiedDeclaration,
+auto HandlePeriodAsDecl(Context& context) -> void {
+  HandlePeriodOrArrow(context, NodeKind::QualifiedDecl,
                       /*is_arrow=*/false);
 }
 

+ 2 - 2
toolchain/parse/handle_statement.cpp

@@ -98,9 +98,9 @@ auto HandleStatementForHeader(Context& context) -> void {
     context.PushState(state);
     context.PushState(State::VarAsFor);
   } else {
-    CARBON_DIAGNOSTIC(ExpectedVariableDeclaration, Error,
+    CARBON_DIAGNOSTIC(ExpectedVariableDecl, Error,
                       "Expected `var` declaration.");
-    context.emitter().Emit(*context.position(), ExpectedVariableDeclaration);
+    context.emitter().Emit(*context.position(), ExpectedVariableDecl);
 
     if (auto next_in = context.FindNextOf({Lex::TokenKind::In})) {
       context.SkipTo(*next_in);

+ 12 - 13
toolchain/parse/handle_type.cpp

@@ -15,7 +15,7 @@ static auto HandleTypeIntroducer(Context& context, NodeKind introducer_kind,
 
   state.state = after_params_state;
   context.PushState(state);
-  context.PushState(State::DeclarationNameAndParamsAsOptional, state.token);
+  context.PushState(State::DeclNameAndParamsAsOptional, state.token);
 }
 
 auto HandleTypeIntroducerAsClass(Context& context) -> void {
@@ -35,52 +35,51 @@ auto HandleTypeIntroducerAsNamedConstraint(Context& context) -> void {
 
 // Handles processing after params, deciding whether it's a declaration or
 // definition.
-static auto HandleTypeAfterParams(Context& context, NodeKind declaration_kind,
+static auto HandleTypeAfterParams(Context& context, NodeKind decl_kind,
                                   NodeKind definition_start_kind,
                                   State definition_finish_state) -> void {
   auto state = context.PopState();
 
   if (state.has_error) {
-    context.RecoverFromDeclarationError(state, declaration_kind,
-                                        /*skip_past_likely_end=*/true);
+    context.RecoverFromDeclError(state, decl_kind,
+                                 /*skip_past_likely_end=*/true);
     return;
   }
 
   if (auto semi = context.ConsumeIf(Lex::TokenKind::Semi)) {
-    context.AddNode(declaration_kind, *semi, state.subtree_start,
-                    state.has_error);
+    context.AddNode(decl_kind, *semi, state.subtree_start, state.has_error);
     return;
   }
 
   if (!context.PositionIs(Lex::TokenKind::OpenCurlyBrace)) {
-    context.EmitExpectedDeclarationSemiOrDefinition(
+    context.EmitExpectedDeclSemiOrDefinition(
         context.tokens().GetKind(state.token));
-    context.RecoverFromDeclarationError(state, declaration_kind,
-                                        /*skip_past_likely_end=*/true);
+    context.RecoverFromDeclError(state, decl_kind,
+                                 /*skip_past_likely_end=*/true);
     return;
   }
 
   state.state = definition_finish_state;
   context.PushState(state);
-  context.PushState(State::DeclarationScopeLoop);
+  context.PushState(State::DeclScopeLoop);
   context.AddNode(definition_start_kind, context.Consume(), state.subtree_start,
                   state.has_error);
 }
 
 auto HandleTypeAfterParamsAsClass(Context& context) -> void {
-  HandleTypeAfterParams(context, NodeKind::ClassDeclaration,
+  HandleTypeAfterParams(context, NodeKind::ClassDecl,
                         NodeKind::ClassDefinitionStart,
                         State::TypeDefinitionFinishAsClass);
 }
 
 auto HandleTypeAfterParamsAsInterface(Context& context) -> void {
-  HandleTypeAfterParams(context, NodeKind::InterfaceDeclaration,
+  HandleTypeAfterParams(context, NodeKind::InterfaceDecl,
                         NodeKind::InterfaceDefinitionStart,
                         State::TypeDefinitionFinishAsInterface);
 }
 
 auto HandleTypeAfterParamsAsNamedConstraint(Context& context) -> void {
-  HandleTypeAfterParams(context, NodeKind::NamedConstraintDeclaration,
+  HandleTypeAfterParams(context, NodeKind::NamedConstraintDecl,
                         NodeKind::NamedConstraintDefinitionStart,
                         State::TypeDefinitionFinishAsNamedConstraint);
 }

+ 2 - 2
toolchain/parse/handle_var.cpp

@@ -52,13 +52,13 @@ auto HandleVarFinishAsSemicolon(Context& context) -> void {
     end_token = context.Consume();
   } else {
     // TODO: Disambiguate between statement and member declaration.
-    context.EmitExpectedDeclarationSemi(Lex::TokenKind::Var);
+    context.EmitExpectedDeclSemi(Lex::TokenKind::Var);
     state.has_error = true;
     if (auto semi_token = context.SkipPastLikelyEnd(state.token)) {
       end_token = *semi_token;
     }
   }
-  context.AddNode(NodeKind::VariableDeclaration, end_token, state.subtree_start,
+  context.AddNode(NodeKind::VariableDecl, end_token, state.subtree_start,
                   state.has_error);
 }
 

+ 23 - 24
toolchain/parse/node_kind.def

@@ -58,7 +58,7 @@ CARBON_PARSE_NODE_KIND_CHILD_COUNT(InvalidParse, 0,
                                    CARBON_IF_ERROR(CARBON_ANY_TOKEN))
 
 // An empty declaration, such as `;`.
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(EmptyDeclaration, 0,
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(EmptyDecl, 0,
                                    CARBON_TOKEN(Semi)
                                        CARBON_IF_ERROR(CARBON_ANY_TOKEN))
 
@@ -125,7 +125,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(ImportDirective, ImportIntroducer,
 
 // `namespace`:
 //   NamespaceStart
-//   _external_: Name or QualifiedDeclaration
+//   _external_: Name or QualifiedDecl
 // Namespace
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(NamespaceStart, 0, CARBON_TOKEN(Namespace))
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(Namespace, 2, CARBON_TOKEN(Semi))
@@ -143,7 +143,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(CodeBlock, CodeBlockStart,
 
 // `fn`:
 //     FunctionIntroducer
-//     _external_: Name or QualifiedDeclaration
+//     _external_: Name or QualifiedDecl
 //     _external_: ParameterList
 //       _external_: type expression
 //     ReturnType
@@ -153,14 +153,14 @@ CARBON_PARSE_NODE_KIND_BRACKET(CodeBlock, CodeBlockStart,
 //
 // The above is the structure for a definition; for a declaration,
 // FunctionDefinitionStart and later nodes are removed and replaced by
-// FunctionDeclaration.
+// FunctionDecl.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(FunctionIntroducer, 0, CARBON_TOKEN(Fn))
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(ReturnType, 1, CARBON_TOKEN(MinusGreater))
 CARBON_PARSE_NODE_KIND_BRACKET(FunctionDefinitionStart, FunctionIntroducer,
                                CARBON_TOKEN(OpenCurlyBrace))
 CARBON_PARSE_NODE_KIND_BRACKET(FunctionDefinition, FunctionDefinitionStart,
                                CARBON_TOKEN(CloseCurlyBrace))
-CARBON_PARSE_NODE_KIND_BRACKET(FunctionDeclaration, FunctionIntroducer,
+CARBON_PARSE_NODE_KIND_BRACKET(FunctionDecl, FunctionIntroducer,
                                CARBON_TOKEN(Semi)
                                    CARBON_IF_ERROR(CARBON_TOKEN(Fn)))
 
@@ -216,10 +216,10 @@ CARBON_PARSE_NODE_KIND_CHILD_COUNT(Template, 1, CARBON_TOKEN(Template))
 //   _external_: PatternBinding
 //   LetInitializer
 //   _external_: expression
-// LetDeclaration
+// LetDecl
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(LetIntroducer, 0, CARBON_TOKEN(Let))
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(LetInitializer, 0, CARBON_TOKEN(Equal))
-CARBON_PARSE_NODE_KIND_BRACKET(LetDeclaration, LetIntroducer,
+CARBON_PARSE_NODE_KIND_BRACKET(LetDecl, LetIntroducer,
                                CARBON_TOKEN(Semi)
                                    CARBON_IF_ERROR(CARBON_TOKEN(Let)))
 
@@ -228,13 +228,13 @@ CARBON_PARSE_NODE_KIND_BRACKET(LetDeclaration, LetIntroducer,
 //   _external_: PatternBinding
 //   _optional_ VariableInitializer
 //   _optional_ _external_: expression
-// VariableDeclaration
+// VariableDecl
 //
 // The VariableInitializer and following expression are paired: either both will
 // be present, or neither will.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(VariableIntroducer, 0, CARBON_TOKEN(Var))
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(VariableInitializer, 0, CARBON_TOKEN(Equal))
-CARBON_PARSE_NODE_KIND_BRACKET(VariableDeclaration, VariableIntroducer,
+CARBON_PARSE_NODE_KIND_BRACKET(VariableDecl, VariableIntroducer,
                                CARBON_TOKEN(Semi)
                                    CARBON_IF_ERROR(CARBON_TOKEN(Var)))
 
@@ -280,7 +280,7 @@ CARBON_PARSE_NODE_KIND_BRACKET(ReturnStatement, ReturnStatementStart,
 //   _external_: CodeBlock
 // ForStatement
 //
-// Versus a normal `var`, ForIn replaces VariableDeclaration.
+// Versus a normal `var`, ForIn replaces VariableDecl.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(ForHeaderStart, 0,
                                    CARBON_TOKEN(OpenParen)
                                        CARBON_IF_ERROR(CARBON_TOKEN(For)))
@@ -369,14 +369,13 @@ CARBON_PARSE_NODE_KIND_BRACKET(CallExpr, CallExprStart,
                                CARBON_TOKEN(CloseParen))
 
 // A qualified declaration, such as `a.b`:
-//   _external_: Name or QualifiedDeclaration
+//   _external_: Name or QualifiedDecl
 //   _external_: Name
-// QualifiedDeclaration
+// QualifiedDecl
 //
 // TODO: This will eventually more general expressions, for example with
 // `GenericType(type_args).ChildType(child_type_args).Name`.
-CARBON_PARSE_NODE_KIND_CHILD_COUNT(QualifiedDeclaration, 2,
-                                   CARBON_TOKEN(Period))
+CARBON_PARSE_NODE_KIND_CHILD_COUNT(QualifiedDecl, 2, CARBON_TOKEN(Period))
 
 // A member access expression, such as `a.b` or
 // `GetObject().(Interface.member)`:
@@ -527,53 +526,53 @@ CARBON_PARSE_NODE_KIND_BRACKET(StructTypeLiteral,
 
 // `class`:
 //     ClassIntroducer
-//     _external_: Name or QualifiedDeclaration
+//     _external_: Name or QualifiedDecl
 //   ClassDefinitionStart
 //   _external_: declarations
 // ClassDefinition
 //
 // The above is the structure for a definition; for a declaration,
 // ClassDefinitionStart and later nodes are removed and replaced by
-// ClassDeclaration.
+// ClassDecl.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(ClassIntroducer, 0, CARBON_TOKEN(Class))
 CARBON_PARSE_NODE_KIND_BRACKET(ClassDefinitionStart, ClassIntroducer,
                                CARBON_TOKEN(OpenCurlyBrace))
 CARBON_PARSE_NODE_KIND_BRACKET(ClassDefinition, ClassDefinitionStart,
                                CARBON_TOKEN(CloseCurlyBrace))
-CARBON_PARSE_NODE_KIND_BRACKET(ClassDeclaration, ClassIntroducer,
+CARBON_PARSE_NODE_KIND_BRACKET(ClassDecl, ClassIntroducer,
                                CARBON_TOKEN(Semi)
                                    CARBON_IF_ERROR(CARBON_TOKEN(Class)))
 
 // `interface`:
 //     InterfaceIntroducer
-//     _external_: Name or QualifiedDeclaration
+//     _external_: Name or QualifiedDecl
 //   InterfaceDefinitionStart
 //   _external_: declarations
 // InterfaceDefinition
 //
 // The above is the structure for a definition; for a declaration,
 // InterfaceDefinitionStart and later nodes are removed and replaced by
-// InterfaceDeclaration.
+// InterfaceDecl.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(InterfaceIntroducer, 0,
                                    CARBON_TOKEN(Interface))
 CARBON_PARSE_NODE_KIND_BRACKET(InterfaceDefinitionStart, InterfaceIntroducer,
                                CARBON_TOKEN(OpenCurlyBrace))
 CARBON_PARSE_NODE_KIND_BRACKET(InterfaceDefinition, InterfaceDefinitionStart,
                                CARBON_TOKEN(CloseCurlyBrace))
-CARBON_PARSE_NODE_KIND_BRACKET(InterfaceDeclaration, InterfaceIntroducer,
+CARBON_PARSE_NODE_KIND_BRACKET(InterfaceDecl, InterfaceIntroducer,
                                CARBON_TOKEN(Semi)
                                    CARBON_IF_ERROR(CARBON_TOKEN(Interface)))
 
 // `constraint`:
 //     NamedConstraintIntroducer
-//     _external_: Name or QualifiedDeclaration
+//     _external_: Name or QualifiedDecl
 //   NamedConstraintDefinitionStart
 //   _external_: declarations
 // NamedConstraintDefinition
 //
 // The above is the structure for a definition; for a declaration,
 // NamedConstraintDefinitionStart and later nodes are removed and replaced by
-// NamedConstraintDeclaration.
+// NamedConstraintDecl.
 CARBON_PARSE_NODE_KIND_CHILD_COUNT(NamedConstraintIntroducer, 0,
                                    CARBON_TOKEN(Constraint))
 CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDefinitionStart,
@@ -582,8 +581,8 @@ CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDefinitionStart,
 CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDefinition,
                                NamedConstraintDefinitionStart,
                                CARBON_TOKEN(CloseCurlyBrace))
-CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDeclaration,
-                               NamedConstraintIntroducer, CARBON_TOKEN(Semi))
+CARBON_PARSE_NODE_KIND_BRACKET(NamedConstraintDecl, NamedConstraintIntroducer,
+                               CARBON_TOKEN(Semi))
 
 // The `self` value and `Self` type identifier keywords. Typically of the form
 // `self: Self`:

+ 1 - 1
toolchain/parse/node_kind.h

@@ -21,7 +21,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(NodeKind, uint8_t) {
 // tree.
 class NodeKind : public CARBON_ENUM_BASE(NodeKind) {
  public:
-#define CARBON_PARSE_NODE_KIND(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+#define CARBON_PARSE_NODE_KIND(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 #include "toolchain/parse/node_kind.def"
 
   // Returns true if the node is bracketed; otherwise, child_count is used.

+ 23 - 23
toolchain/parse/state.def

@@ -173,13 +173,13 @@ CARBON_PARSE_STATE(CodeBlockFinish)
 // - Required: `Foo(...)` or `Foo[...](...)`.
 //
 // If `Identifier` followed by `Period`:
-//   1. DeclarationNameAndParamsAfterNameAs(None|Optional|Required)
+//   1. DeclNameAndParamsAfterNameAs(None|Optional|Required)
 // If `Identifier`:
-//   1. DeclarationNameAndParamsAfterNameAs(None|Optional|Required)
-//   2. PeriodAsDeclaration
+//   1. DeclNameAndParamsAfterNameAs(None|Optional|Required)
+//   2. PeriodAsDecl
 // Else:
 //   (state done)
-CARBON_PARSE_STATE_VARIANTS3(DeclarationNameAndParams, None, Optional, Required)
+CARBON_PARSE_STATE_VARIANTS3(DeclNameAndParams, None, Optional, Required)
 
 // Handles a declaration name between the main name and implicit parameters.
 //
@@ -187,16 +187,16 @@ CARBON_PARSE_STATE_VARIANTS3(DeclarationNameAndParams, None, Optional, Required)
 // used.
 //
 // If `Period`:
-//   1. DeclarationNameAndParamsAfterNameAs(None|Optional|Required)
-//   2. PeriodAsDeclaration
+//   1. DeclNameAndParamsAfterNameAs(None|Optional|Required)
+//   2. PeriodAsDecl
 // If `OpenSquareBracket`:
 //   1. ParameterListAsImplicit
-//   2. DeclarationNameAndParamsAfterImplicit
+//   2. DeclNameAndParamsAfterImplicit
 // If `OpenParen`:
 //   1. ParameterListAsRegular
 // Else:
 //   (state done)
-CARBON_PARSE_STATE_VARIANTS3(DeclarationNameAndParamsAfterName, None, Optional,
+CARBON_PARSE_STATE_VARIANTS3(DeclNameAndParamsAfterName, None, Optional,
                              Required)
 
 // Handles regular parameters such as `(...)` for the general declaration case.
@@ -206,37 +206,37 @@ CARBON_PARSE_STATE_VARIANTS3(DeclarationNameAndParamsAfterName, None, Optional,
 //   1. ParameterListAsRegular
 // Else:
 //   (state done)
-CARBON_PARSE_STATE(DeclarationNameAndParamsAfterImplicit)
+CARBON_PARSE_STATE(DeclNameAndParamsAfterImplicit)
 
 // Handles processing of a declaration scope. Things like fn, class, interface,
 // and so on.
 //
 // If `Class`:
 //   1. TypeIntroducerAsClass
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Constraint`:
 //   1. TypeIntroducerAsNamedConstraint
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Fn`:
 //   1. FunctionIntroducer
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Interface`:
 //   1. TypeIntroducerAsInterface
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Namespace`:
 //   1. Namespace
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Semi`:
-//   1. DeclarationScopeLoop
+//   1. DeclScopeLoop
 // If `Var`:
 //   1. VarAsSemicolon
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // If `Let`:
 //   1. Let
-//   2. DeclarationScopeLoop
+//   2. DeclScopeLoop
 // Else:
 //   (state done)
-CARBON_PARSE_STATE(DeclarationScopeLoop)
+CARBON_PARSE_STATE(DeclScopeLoop)
 
 // Handles periods. Only does one `.<expression>` segment; the source is
 // responsible for handling chaining.
@@ -251,7 +251,7 @@ CARBON_PARSE_STATE(DeclarationScopeLoop)
 //
 // Always:
 //   (state done)
-CARBON_PARSE_STATE_VARIANTS3(Period, Declaration, Expr, Struct)
+CARBON_PARSE_STATE_VARIANTS3(Period, Decl, Expr, Struct)
 
 // Handles `->name` expressions. Identical to PeriodAsExpr except for the
 // leading token.
@@ -379,7 +379,7 @@ CARBON_PARSE_STATE(ExprStatementFinish)
 // If invalid:
 //   (state done)
 // Else:
-//   1. DeclarationNameAndParamsAsRequired
+//   1. DeclNameAndParamsAsRequired
 //   2. FunctionAfterParameters
 CARBON_PARSE_STATE(FunctionIntroducer)
 
@@ -428,7 +428,7 @@ CARBON_PARSE_STATE(Import)
 // Handles `namespace`.
 //
 // Always:
-//   1. DeclarationNameAndParamsAsNone
+//   1. DeclNameAndParamsAsNone
 //   2. NamespaceFinish
 CARBON_PARSE_STATE(Namespace)
 
@@ -710,7 +710,7 @@ CARBON_PARSE_STATE_VARIANTS3(TypeDefinitionFinish, Class, Interface,
 // Handles processing of a type's introducer.
 //
 // Always:
-//   1. DeclarationNameAndParamsAsOptional
+//   1. DeclNameAndParamsAsOptional
 //   2. TypeAfterParamsAs(Class|Interface|NamedConstraint)
 CARBON_PARSE_STATE_VARIANTS3(TypeIntroducer, Class, Interface, NamedConstraint)
 
@@ -719,7 +719,7 @@ CARBON_PARSE_STATE_VARIANTS3(TypeIntroducer, Class, Interface, NamedConstraint)
 // If `Semi`:
 //   (state done)
 // If `OpenCurlyBrace`:
-//   1. DeclarationScopeLoop
+//   1. DeclScopeLoop
 //   2. TypeDefinitionFinishAs(Class|Interface|NamedConstraint)
 // Else:
 //   (state done)

+ 1 - 1
toolchain/parse/state.h

@@ -18,7 +18,7 @@ CARBON_DEFINE_RAW_ENUM_CLASS(State, uint8_t) {
 
 class State : public CARBON_ENUM_BASE(State) {
  public:
-#define CARBON_PARSE_STATE(Name) CARBON_ENUM_CONSTANT_DECLARATION(Name)
+#define CARBON_PARSE_STATE(Name) CARBON_ENUM_CONSTANT_DECL(Name)
 #include "toolchain/parse/state.def"
 };
 

+ 1 - 1
toolchain/parse/testdata/array/fail_require_close_bracket.carbon

@@ -30,6 +30,6 @@ var x: [i32;;
 // CHECK:STDOUT:           {kind: 'InvalidParse', text: ';', has_error: yes},
 // CHECK:STDOUT:         {kind: 'ArrayExpr', text: ']', has_error: yes, subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 7},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: 'var', has_error: yes, subtree_size: 9},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: 'var', has_error: yes, subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/array/fail_require_semi.carbon

@@ -19,6 +19,6 @@ var x: [i32];
 // CHECK:STDOUT:           {kind: 'ArrayExprSemi', text: ']', has_error: yes, subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ArrayExpr', text: ']', has_error: yes, subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 6},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 8},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/array/with_length.carbon

@@ -17,6 +17,6 @@ var x: [i32; 10];
 // CHECK:STDOUT:           {kind: 'Literal', text: '10'},
 // CHECK:STDOUT:         {kind: 'ArrayExpr', text: ']', subtree_size: 5},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 7},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 9},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/array/without_length.carbon

@@ -16,6 +16,6 @@ var x: [i32;];
 // CHECK:STDOUT:           {kind: 'ArrayExprSemi', text: ';', subtree_size: 3},
 // CHECK:STDOUT:         {kind: 'ArrayExpr', text: ']', subtree_size: 4},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 6},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 8},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 8},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 3 - 3
toolchain/parse/testdata/basics/builtin_types.carbon

@@ -17,20 +17,20 @@ var test_str: String = "Test";
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:       {kind: 'Literal', text: '0'},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 7},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 7},
 // CHECK:STDOUT:       {kind: 'VariableIntroducer', text: 'var'},
 // CHECK:STDOUT:         {kind: 'Name', text: 'test_f64'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'f64'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:       {kind: 'Literal', text: '0.1'},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 7},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 7},
 // CHECK:STDOUT:       {kind: 'VariableIntroducer', text: 'var'},
 // CHECK:STDOUT:         {kind: 'Name', text: 'test_str'},
 // CHECK:STDOUT:         {kind: 'Literal', text: 'String'},
 // CHECK:STDOUT:       {kind: 'PatternBinding', text: ':', subtree_size: 3},
 // CHECK:STDOUT:       {kind: 'VariableInitializer', text: '='},
 // CHECK:STDOUT:       {kind: 'Literal', text: '"Test"'},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: ';', subtree_size: 7},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: ';', subtree_size: 7},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/basics/empty_declaration.carbon

@@ -9,6 +9,6 @@
 // CHECK:STDOUT: - filename: empty_declaration.carbon
 // CHECK:STDOUT:   parse_tree: [
 // CHECK:STDOUT:     {kind: 'FileStart', text: ''},
-// CHECK:STDOUT:     {kind: 'EmptyDeclaration', text: ';'},
+// CHECK:STDOUT:     {kind: 'EmptyDecl', text: ';'},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/basics/fail_no_intro_with_semi.carbon

@@ -12,6 +12,6 @@ foo;
 // CHECK:STDOUT: - filename: fail_no_intro_with_semi.carbon
 // CHECK:STDOUT:   parse_tree: [
 // CHECK:STDOUT:     {kind: 'FileStart', text: ''},
-// CHECK:STDOUT:     {kind: 'EmptyDeclaration', text: ';', has_error: yes},
+// CHECK:STDOUT:     {kind: 'EmptyDecl', text: ';', has_error: yes},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/basics/fail_no_intro_without_semi.carbon

@@ -12,6 +12,6 @@ foo bar baz
 // CHECK:STDOUT: - filename: fail_no_intro_without_semi.carbon
 // CHECK:STDOUT:   parse_tree: [
 // CHECK:STDOUT:     {kind: 'FileStart', text: ''},
-// CHECK:STDOUT:     {kind: 'EmptyDeclaration', text: 'foo', has_error: yes},
+// CHECK:STDOUT:     {kind: 'EmptyDecl', text: 'foo', has_error: yes},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/basics/fail_paren_match_regression.carbon

@@ -26,6 +26,6 @@ var = (foo {})
 // CHECK:STDOUT:         {kind: 'ParenExprOrTupleLiteralStart', text: '('},
 // CHECK:STDOUT:         {kind: 'NameExpr', text: 'foo'},
 // CHECK:STDOUT:       {kind: 'ParenExpr', text: ')', has_error: yes, subtree_size: 3},
-// CHECK:STDOUT:     {kind: 'VariableDeclaration', text: 'var', has_error: yes, subtree_size: 9},
+// CHECK:STDOUT:     {kind: 'VariableDecl', text: 'var', has_error: yes, subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 2 - 2
toolchain/parse/testdata/basics/numeric_literals.carbon

@@ -54,7 +54,7 @@ fn F() {
 // CHECK:STDOUT:           {kind: 'Literal', text: '39999999999999999993'},
 // CHECK:STDOUT:           {kind: 'TupleLiteralComma', text: ','},
 // CHECK:STDOUT:         {kind: 'TupleLiteral', text: ')', subtree_size: 12},
-// CHECK:STDOUT:       {kind: 'VariableDeclaration', text: ';', subtree_size: 22},
+// CHECK:STDOUT:       {kind: 'VariableDecl', text: ';', subtree_size: 22},
 // CHECK:STDOUT:         {kind: 'VariableIntroducer', text: 'var'},
 // CHECK:STDOUT:           {kind: 'Name', text: 'floats'},
 // CHECK:STDOUT:               {kind: 'ArrayExprStart', text: '['},
@@ -80,7 +80,7 @@ fn F() {
 // CHECK:STDOUT:           {kind: 'Literal', text: '39999999999999999993.0e39999999999999999993'},
 // CHECK:STDOUT:           {kind: 'TupleLiteralComma', text: ','},
 // CHECK:STDOUT:         {kind: 'TupleLiteral', text: ')', subtree_size: 16},
-// CHECK:STDOUT:       {kind: 'VariableDeclaration', text: ';', subtree_size: 26},
+// CHECK:STDOUT:       {kind: 'VariableDecl', text: ';', subtree_size: 26},
 // CHECK:STDOUT:     {kind: 'FunctionDefinition', text: '}', subtree_size: 54},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/class/basic.carbon

@@ -18,7 +18,7 @@ class Foo {
 // CHECK:STDOUT:         {kind: 'Name', text: 'Baz'},
 // CHECK:STDOUT:           {kind: 'ParameterListStart', text: '('},
 // CHECK:STDOUT:         {kind: 'ParameterList', text: ')', subtree_size: 2},
-// CHECK:STDOUT:       {kind: 'FunctionDeclaration', text: ';', subtree_size: 5},
+// CHECK:STDOUT:       {kind: 'FunctionDecl', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'ClassDefinition', text: '}', subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

+ 1 - 1
toolchain/parse/testdata/class/var.carbon

@@ -18,7 +18,7 @@ class Foo {
 // CHECK:STDOUT:           {kind: 'Name', text: 'x'},
 // CHECK:STDOUT:           {kind: 'Literal', text: 'i32'},
 // CHECK:STDOUT:         {kind: 'PatternBinding', text: ':', subtree_size: 3},
-// CHECK:STDOUT:       {kind: 'VariableDeclaration', text: ';', subtree_size: 5},
+// CHECK:STDOUT:       {kind: 'VariableDecl', text: ';', subtree_size: 5},
 // CHECK:STDOUT:     {kind: 'ClassDefinition', text: '}', subtree_size: 9},
 // CHECK:STDOUT:     {kind: 'FileEnd', text: ''},
 // CHECK:STDOUT:   ]

Some files were not shown because too many files changed in this diff