Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1067)

Unified Diff: pkg/compiler/lib/src/patch_parser.dart

Issue 1723443003: First step of support for parsing and ignoring generic methods. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes bug with nested type arguments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/parser/partial_parser.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 593b08fb43519d980fbc981ed080fe4cca2b395c..8ca31b02d55705e6d3adf20fefca1a508a948117 100644
--- a/pkg/compiler/lib/src/patch_parser.dart
+++ b/pkg/compiler/lib/src/patch_parser.dart
@@ -141,11 +141,12 @@ import 'parser/listener.dart' show
Listener,
ParserError;
import 'parser/element_listener.dart' show
- ElementListener;
+ ElementListener,
+ ParserOptions;
import 'parser/member_listener.dart' show
MemberListener;
import 'parser/partial_elements.dart' show
- PartialClassElement;
+ PartialClassElement;
import 'parser/partial_parser.dart' show
PartialParser;
import 'parser/parser.dart' show
@@ -160,9 +161,12 @@ import 'tokens/token.dart' show
class PatchParserTask extends CompilerTask {
final String name = "Patching Parser";
final bool _enableConditionalDirectives;
+ final bool _enableGenericMethods;
- PatchParserTask(Compiler compiler, {bool enableConditionalDirectives})
- : this._enableConditionalDirectives = enableConditionalDirectives,
+ PatchParserTask(Compiler compiler, ParserOptions parserOptions)
+ : this._enableConditionalDirectives =
+ parserOptions.enableConditionalDirectives,
+ this._enableGenericMethods = parserOptions.enableGenericMethods,
super(compiler);
/**
@@ -199,7 +203,8 @@ class PatchParserTask extends CompilerTask {
idGenerator);
try {
new PartialParser(patchListener,
- enableConditionalDirectives: _enableConditionalDirectives)
+ enableConditionalDirectives: _enableConditionalDirectives,
+ enableGenericMethods: _enableGenericMethods)
.parseUnit(tokens);
} on ParserError catch (e) {
// No need to recover from a parser error in platform libraries, user
@@ -218,7 +223,9 @@ class PatchParserTask extends CompilerTask {
measure(() => reporter.withCurrentElement(cls, () {
MemberListener listener = new PatchMemberListener(compiler, cls);
Parser parser = new PatchClassElementParser(
- listener, enableConditionalDirectives: _enableConditionalDirectives);
+ listener,
+ enableConditionalDirectives: _enableConditionalDirectives,
+ enableGenericMethods: _enableGenericMethods);
try {
Token token = parser.parseTopLevelDeclaration(cls.beginToken);
assert(identical(token, cls.endToken.next));
@@ -270,9 +277,12 @@ class PatchMemberListener extends MemberListener {
* declarations.
*/
class PatchClassElementParser extends PartialParser {
- PatchClassElementParser(Listener listener, {bool enableConditionalDirectives})
+ PatchClassElementParser(Listener listener,
+ {bool enableConditionalDirectives: false,
+ bool enableGenericMethods: false})
: super(listener,
- enableConditionalDirectives: enableConditionalDirectives);
+ enableConditionalDirectives: enableConditionalDirectives,
+ enableGenericMethods: enableGenericMethods);
Token parseClassBody(Token token) => fullParseClassBody(token);
}
« no previous file with comments | « pkg/compiler/lib/src/parser/partial_parser.dart ('k') | pkg/compiler/lib/src/serialization/modelz.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698