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

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

Issue 10703188: Allow patch files to add top-level declarations to the patched library. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix errors caught by editor. Created 8 years, 5 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 7d18d4d8ed3ea36f354eb1bb7fb119a0ae8c23ac..0963033e335cdf0e755da3b1e5acce2ec2aa95fe 100644
--- a/lib/compiler/implementation/scanner/listener.dart
+++ b/lib/compiler/implementation/scanner/listener.dart
@@ -1514,6 +1514,17 @@ class PartialFunctionElement extends FunctionElement {
if (patch !== null) return patch.position();
return findMyName(beginToken);
}
+
+ PartialFunctionElement cloneTo(Element enclosing,
+ DiagnosticListener listener) {
+ if (patch !== null) {
+ listener.cancel("Cloning a patched function.", element: this);
+ }
+ PartialFunctionElement result = new PartialFunctionElement(
+ name, beginToken, getOrSet, endToken, kind, modifiers, enclosing);
+ result.scriptOverride = getScript();
+ return result;
+ }
}
class PartialFieldListElement extends VariableListElement {
@@ -1543,6 +1554,14 @@ class PartialFieldListElement extends VariableListElement {
}
Token position() => beginToken; // findMyName doesn't work. I'm nameless.
+
+ PartialFieldListElement cloneTo(Element enclosing,
+ DiagnosticListener listener) {
+ PartialFieldListElement result = new PartialFieldListElement(
+ beginToken, endToken, modifiers, enclosing);
+ result.scriptOverride = getScript();
+ return result;
+ }
}
class PartialTypedefElement extends TypedefElement {
@@ -1560,6 +1579,14 @@ class PartialTypedefElement extends TypedefElement {
}
position() => findMyName(token);
+
+ PartialTypedefElement cloneTo(Element enclosing,
+ DiagnosticListener listener) {
+ PartialTypedefElement result =
+ new PartialTypedefElement(name, enclosing, token);
+ result.scriptOverride = getScript();
+ return result;
+ }
}
Node parse(DiagnosticListener diagnosticListener,
« no previous file with comments | « lib/compiler/implementation/scanner/class_element_parser.dart ('k') | lib/compiler/implementation/scanner/scanner_task.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698