summaryrefslogtreecommitdiff
path: root/src/parser/parser_builder.cpp
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@cs.nyu.edu>2013-06-07 15:23:36 -0400
committerMorgan Deters <mdeters@cs.nyu.edu>2013-06-07 15:23:36 -0400
commit931b5641dfffcd3779239e014406aa057e21e0f7 (patch)
treecc37b63036dc8cd88af2c8cb1ac4511d0befbf17 /src/parser/parser_builder.cpp
parent6a329424666b4c4a6869dd7bcf9e7cfd69a219f5 (diff)
Allow disabling include-file feature
Diffstat (limited to 'src/parser/parser_builder.cpp')
-rw-r--r--src/parser/parser_builder.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/parser/parser_builder.cpp b/src/parser/parser_builder.cpp
index e1e4053ac..684a495b6 100644
--- a/src/parser/parser_builder.cpp
+++ b/src/parser/parser_builder.cpp
@@ -54,6 +54,7 @@ void ParserBuilder::init(ExprManager* exprManager,
d_exprManager = exprManager;
d_checksEnabled = true;
d_strictMode = false;
+ d_canIncludeFile = true;
d_mmap = false;
d_parseOnly = false;
}
@@ -106,6 +107,12 @@ Parser* ParserBuilder::build()
parser->disableChecks();
}
+ if( d_canIncludeFile ) {
+ parser->allowIncludeFile();
+ } else {
+ parser->disallowIncludeFile();
+ }
+
return parser;
}
@@ -151,7 +158,8 @@ ParserBuilder& ParserBuilder::withOptions(const Options& options) {
.withMmap(options[options::memoryMap])
.withChecks(options[options::semanticChecks])
.withStrictMode(options[options::strictParsing])
- .withParseOnly(options[options::parseOnly]);
+ .withParseOnly(options[options::parseOnly])
+ .withIncludeFile(options[options::canIncludeFile]);
}
ParserBuilder& ParserBuilder::withStrictMode(bool flag) {
@@ -159,6 +167,11 @@ ParserBuilder& ParserBuilder::withStrictMode(bool flag) {
return *this;
}
+ParserBuilder& ParserBuilder::withIncludeFile(bool flag) {
+ d_canIncludeFile = flag;
+ return *this;
+}
+
ParserBuilder& ParserBuilder::withStreamInput(std::istream& input) {
d_inputType = STREAM_INPUT;
d_streamInput = &input;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback