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

Unified Diff: lib/compiler/implementation/scanner/listener.dart

Issue 10832203: Refactor Library/CompilationUnit and how we define local Scope. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Last test fixes, passes co19. Created 8 years, 4 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: lib/compiler/implementation/scanner/listener.dart
diff --git a/lib/compiler/implementation/scanner/listener.dart b/lib/compiler/implementation/scanner/listener.dart
index 576512f901c74a2f890dff423f9236a1fbbc345a..01d642b84b85e67798db609f176453af8ea1bc28 100644
--- a/lib/compiler/implementation/scanner/listener.dart
+++ b/lib/compiler/implementation/scanner/listener.dart
@@ -556,10 +556,14 @@ class ElementListener extends Listener {
}
StringNode firstArgument = popLiteralString();
Identifier tag = popNode();
- compilationUnitElement.addTag(new ScriptTag(tag, firstArgument,
- argumentName, prefix,
- beginToken, endToken),
- listener);
+ LibraryElement library = compilationUnitElement.getLibrary();
+ if (library.entryCompilationUnit != compilationUnitElement) {
+ // Only allow script tags in the entry compilation unit.
+ listener.cancel("script tags not allowed here", node: tag);
+ }
+ ScriptTag scriptTag = new ScriptTag(tag, firstArgument, argumentName,
+ prefix, beginToken, endToken);
+ library.addTag(scriptTag, listener);
}
void endClassDeclaration(int interfacesCount, Token beginToken,

Powered by Google App Engine
This is Rietveld 408576698