--- /dev/null
+/* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
+ * Use of this file is governed by the BSD 3-clause license that
+ * can be found in the LICENSE.txt file in the project root.
+ */
+
+#pragma once
+
+#include "antlr4-common.h"
+
+namespace antlr4 {
+namespace atn {
+
+ class ANTLR4CPP_PUBLIC ATNDeserializationOptions {
+ private:
+ static ATNDeserializationOptions defaultOptions;
+
+ bool readOnly;
+ bool verifyATN;
+ bool generateRuleBypassTransitions;
+
+ public:
+ ATNDeserializationOptions();
+ ATNDeserializationOptions(ATNDeserializationOptions *options);
+ ATNDeserializationOptions(ATNDeserializationOptions const&) = default;
+ virtual ~ATNDeserializationOptions();
+ ATNDeserializationOptions& operator=(ATNDeserializationOptions const&) = default;
+
+ static const ATNDeserializationOptions& getDefaultOptions();
+
+ bool isReadOnly();
+
+ void makeReadOnly();
+
+ bool isVerifyATN();
+
+ void setVerifyATN(bool verify);
+
+ bool isGenerateRuleBypassTransitions();
+
+ void setGenerateRuleBypassTransitions(bool generate);
+
+ protected:
+ virtual void throwIfReadOnly();
+
+ private:
+ void InitializeInstanceFields();
+ };
+
+} // namespace atn
+} // namespace antlr4