blob: 6bb7809c6c36203151454c5ba010d159d886ae2f [file] [log] [blame]
Ryan Harrisondbc13af2022-02-21 15:19:07 +00001// Copyright 2021 The Tint Authors.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#include "src/tint/fuzzers/tint_spirv_tools_fuzzer/mutator.h"
16
dan sinclair62a1d712022-04-07 17:46:04 +000017namespace tint::fuzzers::spvtools_fuzzer {
Ryan Harrisondbc13af2022-02-21 15:19:07 +000018
dan sinclair6e77b472022-10-20 13:38:28 +000019// We need to define destructor here so that vtable is produced in this
Ryan Harrisondbc13af2022-02-21 15:19:07 +000020// translation unit (see -Wweak-vtables clang flag).
21Mutator::~Mutator() = default;
22
dan sinclair41e4d9a2022-05-01 14:40:55 +000023Mutator::Result::Result(Status status, bool is_changed) : status_(status), is_changed_(is_changed) {
24 assert((is_changed || status == Status::kStuck || status == Status::kLimitReached) &&
25 "Returning invalid result state");
Ryan Harrisondbc13af2022-02-21 15:19:07 +000026}
27
dan sinclair62a1d712022-04-07 17:46:04 +000028} // namespace tint::fuzzers::spvtools_fuzzer