| 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 4edabb3fe113779fb0b22cddc1ef96ae117f6ce4..593b08fb43519d980fbc981ed080fe4cca2b395c 100644
 | 
| --- a/pkg/compiler/lib/src/patch_parser.dart
 | 
| +++ b/pkg/compiler/lib/src/patch_parser.dart
 | 
| @@ -159,8 +159,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
 | 
| @@ -195,7 +198,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.
 | 
| @@ -212,7 +217,8 @@ class PatchParserTask extends CompilerTask {
 | 
|  
 | 
|      measure(() => reporter.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));
 | 
| @@ -264,7 +270,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);
 | 
|  }
 | 
| 
 |