Index: pkg/compiler/lib/src/patch_parser.dart |
diff --git a/pkg/compiler/lib/src/patch_parser.dart b/pkg/compiler/lib/src/patch_parser.dart |
index a2ec63cf7006cdbfc964892a24ed6e9844cfe6db..21555792bb6cee40accbf572626a98ad22f62d66 100644 |
--- a/pkg/compiler/lib/src/patch_parser.dart |
+++ b/pkg/compiler/lib/src/patch_parser.dart |
@@ -157,8 +157,11 @@ import 'tokens/token.dart' show |
class PatchParserTask extends CompilerTask { |
final String name = "Patching Parser"; |
+ final bool _enableConditionalDirectives; |
- PatchParserTask(Compiler compiler): super(compiler); |
+ PatchParserTask(Compiler compiler, {bool enableConditionalDirectives}) |
+ : this._enableConditionalDirectives = enableConditionalDirectives, |
+ super(compiler); |
/** |
* Scans a library patch file, applies the method patches and |
@@ -193,7 +196,9 @@ class PatchParserTask extends CompilerTask { |
compilationUnit, |
idGenerator); |
try { |
- new PartialParser(patchListener).parseUnit(tokens); |
+ new PartialParser(patchListener, |
+ enableConditionalDirectives: _enableConditionalDirectives) |
+ .parseUnit(tokens); |
} on ParserError catch (e) { |
// No need to recover from a parser error in platform libraries, user |
// will never see this if the libraries are tested correctly. |
@@ -210,7 +215,8 @@ class PatchParserTask extends CompilerTask { |
measure(() => compiler.withCurrentElement(cls, () { |
MemberListener listener = new PatchMemberListener(compiler, cls); |
- Parser parser = new PatchClassElementParser(listener); |
+ Parser parser = new PatchClassElementParser( |
+ listener, enableConditionalDirectives: _enableConditionalDirectives); |
try { |
Token token = parser.parseTopLevelDeclaration(cls.beginToken); |
assert(identical(token, cls.endToken.next)); |
@@ -257,7 +263,9 @@ class PatchMemberListener extends MemberListener { |
* declarations. |
*/ |
class PatchClassElementParser extends PartialParser { |
- PatchClassElementParser(Listener listener) : super(listener); |
+ PatchClassElementParser(Listener listener, {bool enableConditionalDirectives}) |
+ : super(listener, |
+ enableConditionalDirectives: enableConditionalDirectives); |
Token parseClassBody(Token token) => fullParseClassBody(token); |
} |