github.com/alexanius/gollvm12@v0.0.0-20230419200121-b152358b84f3/gofrontend/go/go-dump.h (about) 1 // go-dump.h -- Go frontend debug dumps. -*- C++ -*- 2 3 // Copyright 2009 The Go Authors. All rights reserved. 4 // Use of this source code is governed by a BSD-style 5 // license that can be found in the LICENSE file. 6 7 #ifndef GO_DUMP_H 8 #define GO_DUMP_H 9 10 // This class manages different arguments to -fgo-dump-XXX. If you 11 // want to create a new dump, create a variable of this type with the 12 // name to use for XXX. You can then use is_enabled to see whether 13 // the -fgo-dump-XXX option was used on the command line. 14 15 class Go_dump 16 { 17 public: 18 Go_dump(const char* name); 19 20 // Whether this dump was enabled. 21 bool 22 is_enabled() const 23 { return this->is_enabled_; } 24 25 // Enable a dump by name. Return true if the dump was found. 26 static bool 27 enable_by_name(const char*); 28 29 private: 30 // The next dump. These are not in any order. 31 Go_dump* next_; 32 // The name of this dump. 33 const char* name_; 34 // Whether this dump was enabled. 35 bool is_enabled_; 36 }; 37 38 #endif // !defined(GO_DUMP_H)