diff options
Diffstat (limited to 'deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp')
-rw-r--r-- | deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp b/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp new file mode 100644 index 0000000000..9314ff6ad9 --- /dev/null +++ b/deps/v8/third_party/antlr4/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp @@ -0,0 +1,61 @@ +/* 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. + */ + +#include "atn/ATNDeserializationOptions.h" + +using namespace antlr4::atn; + +ATNDeserializationOptions ATNDeserializationOptions::defaultOptions; + +ATNDeserializationOptions::ATNDeserializationOptions() { + InitializeInstanceFields(); +} + +ATNDeserializationOptions::ATNDeserializationOptions( + ATNDeserializationOptions* options) + : ATNDeserializationOptions() { + this->verifyATN = options->verifyATN; + this->generateRuleBypassTransitions = options->generateRuleBypassTransitions; +} + +ATNDeserializationOptions::~ATNDeserializationOptions() {} + +const ATNDeserializationOptions& +ATNDeserializationOptions::getDefaultOptions() { + return defaultOptions; +} + +bool ATNDeserializationOptions::isReadOnly() { return readOnly; } + +void ATNDeserializationOptions::makeReadOnly() { readOnly = true; } + +bool ATNDeserializationOptions::isVerifyATN() { return verifyATN; } + +void ATNDeserializationOptions::setVerifyATN(bool verify) { + throwIfReadOnly(); + verifyATN = verify; +} + +bool ATNDeserializationOptions::isGenerateRuleBypassTransitions() { + return generateRuleBypassTransitions; +} + +void ATNDeserializationOptions::setGenerateRuleBypassTransitions( + bool generate) { + throwIfReadOnly(); + generateRuleBypassTransitions = generate; +} + +void ATNDeserializationOptions::throwIfReadOnly() { + if (isReadOnly()) { + throw "The object is read only."; + } +} + +void ATNDeserializationOptions::InitializeInstanceFields() { + readOnly = false; + verifyATN = true; + generateRuleBypassTransitions = false; +} |