Index: pkg/compiler/lib/src/parser/partial_elements.dart |
diff --git a/pkg/compiler/lib/src/parser/partial_elements.dart b/pkg/compiler/lib/src/parser/partial_elements.dart |
index d72c6b739766844947c00e838b1337753743555e..d5b0451f88977533d353fa9d6cd080a5b5f4e0c9 100644 |
--- a/pkg/compiler/lib/src/parser/partial_elements.dart |
+++ b/pkg/compiler/lib/src/parser/partial_elements.dart |
@@ -51,6 +51,8 @@ import '../tree/tree.dart'; |
import 'class_element_parser.dart' show |
ClassElementParser; |
+import 'element_listener.dart' show |
+ ParserOptions; |
import 'parser.dart' show |
Parser; |
import 'listener.dart' show |
@@ -427,7 +429,8 @@ class PartialClassElement extends ClassElementX with PartialElement { |
parsing.measure(() { |
MemberListener listener = new MemberListener( |
parsing.getScannerOptionsFor(this), reporter, this); |
- Parser parser = new ClassElementParser(listener); |
+ ParserOptions options = parsing.parserOptions; |
+ Parser parser = new ClassElementParser(listener, parsing.parserOptions); |
try { |
Token token = parser.parseTopLevelDeclaration(beginToken); |
assert(identical(token, endToken.next)); |
@@ -491,7 +494,10 @@ Node parse( |
if (partial.hasParseError) { |
listener.suppressParseErrors = true; |
} |
- doParse(new Parser(listener)); |
+ ParserOptions options = parsing.parserOptions; |
+ doParse(new Parser(listener, |
+ enableConditionalDirectives: options.enableConditionalDirectives, |
+ enableGenericMethods: options.enableGenericMethods)); |
} on ParserError catch (e) { |
partial.hasParseError = true; |
return new ErrorNode(element.position, e.reason); |