inspector: Remove legacy shader IO support

This is a reland of the CL:
https://dawn-review.googlesource.com/c/tint/+/55402

Now that sanitizers are no longer exposed externally, the Inspector no
longer needs to handle this post-sanitizer world.

Bug: tint:697
Change-Id: Ic02ebb9c529aa132a238285bdd0d0df8686e219b
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/57104
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/inspector/inspector.cc b/src/inspector/inspector.cc
index cd8546d..f8b3b59 100644
--- a/src/inspector/inspector.cc
+++ b/src/inspector/inspector.cc
@@ -172,46 +172,11 @@
       auto* decl = var->Declaration();
 
       auto name = program_->Symbols().NameFor(decl->symbol());
-      if (ast::HasDecoration<ast::BuiltinDecoration>(decl->decorations())) {
-        continue;
-      }
 
-      // TODO(crbug.com/tint/697): Remove this.
-      {
-        StageVariable stage_variable;
-        stage_variable.name = name;
-
-        auto* type = var->Type()->UnwrapRef();
-        std::tie(stage_variable.component_type,
-                 stage_variable.composition_type) =
-            CalculateComponentAndComposition(type);
-
-        auto* location_decoration =
-            ast::GetDecoration<ast::LocationDecoration>(decl->decorations());
-        if (location_decoration) {
-          stage_variable.has_location_decoration = true;
-          stage_variable.location_decoration = location_decoration->value();
-        } else {
-          stage_variable.has_location_decoration = false;
-        }
-
-        std::tie(stage_variable.interpolation_type,
-                 stage_variable.interpolation_sampling) =
-            CalculateInterpolationData(type, decl->decorations());
-
-        if (var->StorageClass() == ast::StorageClass::kInput) {
-          entry_point.input_variables.push_back(stage_variable);
-        } else if (var->StorageClass() == ast::StorageClass::kOutput) {
-          entry_point.output_variables.push_back(stage_variable);
-        }
-      }
-
-      {
-        if (var->IsPipelineConstant()) {
-          OverridableConstant overridable_constant;
-          overridable_constant.name = name;
-          entry_point.overridable_constants.push_back(overridable_constant);
-        }
+      if (var->IsPipelineConstant()) {
+        OverridableConstant overridable_constant;
+        overridable_constant.name = name;
+        entry_point.overridable_constants.push_back(overridable_constant);
       }
     }
 
diff --git a/src/inspector/inspector_test.cc b/src/inspector/inspector_test.cc
index 70d5de6..f52b93b 100644
--- a/src/inspector/inspector_test.cc
+++ b/src/inspector/inspector_test.cc
@@ -534,335 +534,6 @@
   EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[1].component_type);
 }
 
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, EntryPointInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}});
-
-  MakeInOutVariableBodyFunction("foo", {{"in_var", "out_var"}},
-                                ast::DecorationList{
-                                    Stage(ast::PipelineStage::kFragment),
-                                });
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ(1u, result[0].input_variables.size());
-  EXPECT_EQ("in_var", result[0].input_variables[0].name);
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[0].output_variables.size());
-  EXPECT_EQ("out_var", result[0].output_variables[0].name);
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, FunctionInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}});
-
-  MakeInOutVariableBodyFunction("func", {{"in_var", "out_var"}}, {});
-
-  MakeCallerBodyFunction("foo", {"func"},
-                         ast::DecorationList{
-                             Stage(ast::PipelineStage::kFragment),
-                         });
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ(1u, result[0].input_variables.size());
-  EXPECT_EQ("in_var", result[0].input_variables[0].name);
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[0].output_variables.size());
-  EXPECT_EQ("out_var", result[0].output_variables[0].name);
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, RepeatedInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}});
-
-  MakeInOutVariableBodyFunction("func", {{"in_var", "out_var"}}, {});
-
-  MakeInOutVariableCallerBodyFunction("foo", "func", {{"in_var", "out_var"}},
-                                      ast::DecorationList{
-                                          Stage(ast::PipelineStage::kFragment),
-                                      });
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ(1u, result[0].input_variables.size());
-  EXPECT_EQ("in_var", result[0].input_variables[0].name);
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[0].output_variables.size());
-  EXPECT_EQ("out_var", result[0].output_variables[0].name);
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, EntryPointMultipleInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}, {"in2_var", "out2_var"}});
-
-  MakeInOutVariableBodyFunction(
-      "foo", {{"in_var", "out_var"}, {"in2_var", "out2_var"}},
-      ast::DecorationList{
-          Stage(ast::PipelineStage::kFragment),
-      });
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ(2u, result[0].input_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in_var"));
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in2_var"));
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-  EXPECT_TRUE(result[0].input_variables[1].has_location_decoration);
-  EXPECT_EQ(2u, result[0].input_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[1].component_type);
-
-  ASSERT_EQ(2u, result[0].output_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out_var"));
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out2_var"));
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-  EXPECT_TRUE(result[0].output_variables[1].has_location_decoration);
-  EXPECT_EQ(3u, result[0].output_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[1].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, FunctionMultipleInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}, {"in2_var", "out2_var"}});
-
-  MakeInOutVariableBodyFunction(
-      "func", {{"in_var", "out_var"}, {"in2_var", "out2_var"}}, {});
-
-  MakeCallerBodyFunction("foo", {"func"},
-                         ast::DecorationList{
-                             Stage(ast::PipelineStage::kFragment),
-                         });
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ(2u, result[0].input_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in_var"));
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in2_var"));
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-  EXPECT_TRUE(result[0].input_variables[1].has_location_decoration);
-  EXPECT_EQ(2u, result[0].input_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[1].component_type);
-
-  ASSERT_EQ(2u, result[0].output_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out_var"));
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out2_var"));
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-  EXPECT_TRUE(result[0].output_variables[1].has_location_decoration);
-  EXPECT_EQ(3u, result[0].output_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[1].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, MultipleEntryPointsInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}, {"in2_var", "out2_var"}});
-
-  MakeInOutVariableBodyFunction("foo", {{"in_var", "out2_var"}},
-                                ast::DecorationList{
-                                    Stage(ast::PipelineStage::kFragment),
-                                });
-
-  MakeInOutVariableBodyFunction(
-      "bar", {{"in2_var", "out_var"}},
-      ast::DecorationList{Stage(ast::PipelineStage::kCompute),
-                          WorkgroupSize(1)});
-
-  // TODO(dsinclair): Update to run the namer transform when
-  // available.
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(2u, result.size());
-
-  ASSERT_EQ("foo", result[0].name);
-  ASSERT_EQ("foo", result[0].remapped_name);
-
-  ASSERT_EQ(1u, result[0].input_variables.size());
-  EXPECT_EQ("in_var", result[0].input_variables[0].name);
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[0].output_variables.size());
-  EXPECT_EQ("out2_var", result[0].output_variables[0].name);
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(3u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-
-  ASSERT_EQ("bar", result[1].name);
-  ASSERT_EQ("bar", result[1].remapped_name);
-
-  ASSERT_EQ(1u, result[1].input_variables.size());
-  EXPECT_EQ("in2_var", result[1].input_variables[0].name);
-  EXPECT_TRUE(result[1].input_variables[0].has_location_decoration);
-  EXPECT_EQ(2u, result[1].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[1].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[1].output_variables.size());
-  EXPECT_EQ("out_var", result[1].output_variables[0].name);
-  EXPECT_TRUE(result[1].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[1].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[1].output_variables[0].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest,
-       MultipleEntryPointsSharedInOutVariables_Legacy) {
-  AddInOutVariables({{"in_var", "out_var"}, {"in2_var", "out2_var"}});
-
-  MakeInOutVariableBodyFunction("func", {{"in2_var", "out2_var"}}, {});
-
-  MakeInOutVariableCallerBodyFunction("foo", "func", {{"in_var", "out_var"}},
-                                      ast::DecorationList{
-                                          Stage(ast::PipelineStage::kFragment),
-                                      });
-
-  MakeCallerBodyFunction(
-      "bar", {"func"},
-      ast::DecorationList{Stage(ast::PipelineStage::kCompute),
-                          WorkgroupSize(1)});
-
-  // TODO(dsinclair): Update to run the namer transform when
-  // available.
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(2u, result.size());
-
-  ASSERT_EQ("foo", result[0].name);
-  ASSERT_EQ("foo", result[0].remapped_name);
-
-  ASSERT_EQ(2u, result[0].input_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in_var"));
-  EXPECT_TRUE(ContainsName(result[0].input_variables, "in2_var"));
-  EXPECT_TRUE(result[0].input_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[0].component_type);
-  EXPECT_TRUE(result[0].input_variables[1].has_location_decoration);
-  EXPECT_EQ(2u, result[0].input_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].input_variables[1].component_type);
-
-  ASSERT_EQ(2u, result[0].output_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out_var"));
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out2_var"));
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(1u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(3u, result[0].output_variables[1].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[1].component_type);
-
-  ASSERT_EQ("bar", result[1].name);
-  ASSERT_EQ("bar", result[1].remapped_name);
-
-  ASSERT_EQ(1u, result[1].input_variables.size());
-  EXPECT_EQ("in2_var", result[1].input_variables[0].name);
-  EXPECT_TRUE(result[1].input_variables[0].has_location_decoration);
-  EXPECT_EQ(2u, result[1].input_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[1].input_variables[0].component_type);
-
-  ASSERT_EQ(1u, result[1].output_variables.size());
-  EXPECT_EQ("out2_var", result[1].output_variables[0].name);
-  EXPECT_TRUE(result[1].output_variables[0].has_location_decoration);
-  EXPECT_EQ(3u, result[1].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[1].output_variables[0].component_type);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-TEST_F(InspectorGetEntryPointTest, BuiltInsNotStageVariables_Legacy) {
-  Global("in_var", ty.u32(), ast::StorageClass::kInput, nullptr,
-         ast::DecorationList{
-             Builtin(ast::Builtin::kPosition),
-             ASTNodes().Create<ast::DisableValidationDecoration>(
-                 ID(), ast::DisabledValidation::kIgnoreStorageClass)});
-  Global("out_var", ty.u32(), ast::StorageClass::kOutput, nullptr,
-         ast::DecorationList{
-             Location(0),
-             ASTNodes().Create<ast::DisableValidationDecoration>(
-                 ID(), ast::DisabledValidation::kIgnoreStorageClass)});
-
-  MakeInOutVariableBodyFunction("func", {{"in_var", "out_var"}}, {});
-
-  MakeCallerBodyFunction("foo", {"func"},
-                         ast::DecorationList{
-                             Stage(ast::PipelineStage::kFragment),
-                         });
-
-  // TODO(dsinclair): Update to run the namer transform when available.
-
-  Inspector& inspector = Build();
-
-  auto result = inspector.GetEntryPoints();
-  ASSERT_FALSE(inspector.has_error()) << inspector.error();
-
-  ASSERT_EQ(1u, result.size());
-
-  ASSERT_EQ("foo", result[0].name);
-  ASSERT_EQ("foo", result[0].remapped_name);
-  EXPECT_EQ(0u, result[0].input_variables.size());
-  EXPECT_EQ(1u, result[0].output_variables.size());
-  EXPECT_TRUE(ContainsName(result[0].output_variables, "out_var"));
-  EXPECT_TRUE(result[0].output_variables[0].has_location_decoration);
-  EXPECT_EQ(0u, result[0].output_variables[0].location_decoration);
-  EXPECT_EQ(ComponentType::kUInt, result[0].output_variables[0].component_type);
-}
-
 TEST_F(InspectorGetEntryPointTest, OverridableConstantUnreferenced) {
   AddOverridableConstantWithoutID<float>("foo", ty.f32(), nullptr);
   MakeEmptyBodyFunction(
diff --git a/src/inspector/test_inspector_builder.cc b/src/inspector/test_inspector_builder.cc
index 8e1912c..922f342 100644
--- a/src/inspector/test_inspector_builder.cc
+++ b/src/inspector/test_inspector_builder.cc
@@ -60,60 +60,6 @@
   return Structure(name, members);
 }
 
-// TODO(crbug.com/tint/697): Remove this.
-void InspectorBuilder::AddInOutVariables(
-    std::vector<std::tuple<std::string, std::string>> inout_vars) {
-  uint32_t location = 0;
-  for (auto inout : inout_vars) {
-    std::string in, out;
-    std::tie(in, out) = inout;
-
-    Global(in, ty.u32(), ast::StorageClass::kInput, nullptr,
-           ast::DecorationList{
-               Location(location++),
-               ASTNodes().Create<ast::DisableValidationDecoration>(
-                   ID(), ast::DisabledValidation::kIgnoreStorageClass)});
-    Global(out, ty.u32(), ast::StorageClass::kOutput, nullptr,
-           ast::DecorationList{
-               Location(location++),
-               ASTNodes().Create<ast::DisableValidationDecoration>(
-                   ID(), ast::DisabledValidation::kIgnoreStorageClass)});
-  }
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-void InspectorBuilder::MakeInOutVariableBodyFunction(
-    std::string name,
-    std::vector<std::tuple<std::string, std::string>> inout_vars,
-    ast::DecorationList decorations) {
-  ast::StatementList stmts;
-  for (auto inout : inout_vars) {
-    std::string in, out;
-    std::tie(in, out) = inout;
-    stmts.emplace_back(Assign(out, in));
-  }
-  stmts.emplace_back(Return());
-  Func(name, ast::VariableList(), ty.void_(), stmts, decorations);
-}
-
-// TODO(crbug.com/tint/697): Remove this.
-ast::Function* InspectorBuilder::MakeInOutVariableCallerBodyFunction(
-    std::string caller,
-    std::string callee,
-    std::vector<std::tuple<std::string, std::string>> inout_vars,
-    ast::DecorationList decorations) {
-  ast::StatementList stmts;
-  for (auto inout : inout_vars) {
-    std::string in, out;
-    std::tie(in, out) = inout;
-    stmts.emplace_back(Assign(out, in));
-  }
-  stmts.emplace_back(create<ast::CallStatement>(Call(callee)));
-  stmts.emplace_back(Return());
-
-  return Func(caller, ast::VariableList(), ty.void_(), stmts, decorations);
-}
-
 ast::Function* InspectorBuilder::MakeConstReferenceBodyFunction(
     std::string func,
     std::string var,