| // go-dump.h -- Go frontend debug dumps. -*- C++ -*- |
| |
| // Copyright 2009 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| #ifndef GO_DUMP_H |
| #define GO_DUMP_H |
| |
| // This class manages different arguments to -fgo-dump-XXX. If you |
| // want to create a new dump, create a variable of this type with the |
| // name to use for XXX. You can then use is_enabled to see whether |
| // the -fgo-dump-XXX option was used on the command line. |
| |
| class Go_dump |
| { |
| public: |
| Go_dump(const char* name); |
| |
| // Whether this dump was enabled. |
| bool |
| is_enabled() const |
| { return this->is_enabled_; } |
| |
| // Enable a dump by name. Return true if the dump was found. |
| static bool |
| enable_by_name(const char*); |
| |
| private: |
| // The next dump. These are not in any order. |
| Go_dump* next_; |
| // The name of this dump. |
| const char* name_; |
| // Whether this dump was enabled. |
| bool is_enabled_; |
| }; |
| |
| #endif // !defined(GO_DUMP_H) |