65 lines
1.7 KiB
C++
Executable File
65 lines
1.7 KiB
C++
Executable File
/* 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;
|
|
}
|