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

Unified Diff: dart/frog/leg/scanner/listener.dart

Issue 9568008: Do not allow native syntax on all libraries. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 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
Index: dart/frog/leg/scanner/listener.dart
===================================================================
--- dart/frog/leg/scanner/listener.dart (revision 5068)
+++ dart/frog/leg/scanner/listener.dart (working copy)
@@ -848,7 +848,8 @@
}
class NodeListener extends ElementListener {
- NodeListener(DiagnosticListener listener) : super(listener, null);
+ NodeListener(DiagnosticListener listener, CompilationUnitElement element)
+ : super(listener, element);
void endClassDeclaration(int interfacesCount, Token beginToken,
Token extendsKeyword, Token implementsKeyword,
@@ -1423,6 +1424,7 @@
FunctionExpression parseNode(DiagnosticListener listener) {
if (cachedNode != null) return cachedNode;
cachedNode = parse(listener,
+ getCompilationUnit(),
(p) => p.parseFunction(beginToken, getOrSet));
return cachedNode;
}
@@ -1442,16 +1444,19 @@
VariableDefinitions parseNode(DiagnosticListener listener) {
if (cachedNode != null) return cachedNode;
- cachedNode =
- parse(listener, (p) => p.parseVariablesDeclaration(beginToken));
+ cachedNode = parse(listener,
+ getCompilationUnit(),
+ (p) => p.parseVariablesDeclaration(beginToken));
return cachedNode;
}
Token position() => beginToken;
}
-Node parse(DiagnosticListener diagnosticListener, doParse(Parser parser)) {
- NodeListener listener = new NodeListener(diagnosticListener);
+Node parse(DiagnosticListener diagnosticListener,
+ CompilationUnitElement element,
+ doParse(Parser parser)) {
+ NodeListener listener = new NodeListener(diagnosticListener, element);
doParse(new Parser(listener));
Node node = listener.popNode();
assert(listener.nodes.isEmpty());

Powered by Google App Engine
This is Rietveld 408576698