|  | // Copyright 2020 The Tint Authors. | 
|  | // | 
|  | // Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | // you may not use this file except in compliance with the License. | 
|  | // You may obtain a copy of the License at | 
|  | // | 
|  | //     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | // | 
|  | // Unless required by applicable law or agreed to in writing, software | 
|  | // distributed under the License is distributed on an "AS IS" BASIS, | 
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | // See the License for the specific language governing permissions and | 
|  | // limitations under the License. | 
|  |  | 
|  | #include "src/validator_test_helper.h" | 
|  | #include "src/type_manager.h" | 
|  |  | 
|  | namespace tint { | 
|  |  | 
|  | ValidatorTestHelper::ValidatorTestHelper() { | 
|  | td_ = std::make_unique<TypeDeterminer>(&ctx_, &mod_); | 
|  | v_ = std::make_unique<ValidatorImpl>(); | 
|  | } | 
|  |  | 
|  | ValidatorTestHelper::~ValidatorTestHelper() = default; | 
|  |  | 
|  | void ValidatorTestHelper::AddFakeEntryPoint() { | 
|  | // entry_point vertex as "fake_entry_point" = fake_func | 
|  | // fn fake_func() -> void {} | 
|  | auto ep = std::make_unique<ast::EntryPoint>(ast::PipelineStage::kVertex, | 
|  | "fake_entry_point", "fake_func"); | 
|  | ast::VariableList fake_params; | 
|  | auto fake_func = std::make_unique<ast::Function>( | 
|  | "fake_func", std::move(fake_params), | 
|  | ctx_.type_mgr().Get(std::make_unique<ast::type::VoidType>())); | 
|  | auto fake_body = std::make_unique<ast::BlockStatement>(); | 
|  | auto return_stmt = std::make_unique<ast::ReturnStatement>(); | 
|  | fake_body->append(std::move(return_stmt)); | 
|  | fake_func->set_body(std::move(fake_body)); | 
|  | mod()->AddFunction(std::move(fake_func)); | 
|  | mod()->AddEntryPoint(std::move(ep)); | 
|  | return; | 
|  | } | 
|  |  | 
|  | }  // namespace tint |