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

Unified Diff: pkg/analyzer2dart/lib/src/modely.dart

Issue 661593004: Support local variables in analyzer2dart. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove blank lines. Created 6 years, 2 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: pkg/analyzer2dart/lib/src/modely.dart
diff --git a/pkg/analyzer2dart/lib/src/modely.dart b/pkg/analyzer2dart/lib/src/modely.dart
index 46c1b319e17260a44b10817823d418dd0b6acef1..ea65b249cc374fc7a5bf175e0d1cc20dbe09d6fb 100644
--- a/pkg/analyzer2dart/lib/src/modely.dart
+++ b/pkg/analyzer2dart/lib/src/modely.dart
@@ -634,8 +634,20 @@ class TypedefElementY extends TypeDeclarationElementY
get functionSignature => unsupported('functionSignature');
}
+abstract class VariableElementMixin
+ implements ElementY, dart2js.VariableElement {
+ @override
+ get initializer => unsupported('initializer');
+
+ @override
+ get memberContext => unsupported('memberContext');
+}
+
class TopLevelVariableElementY extends ElementY
- with AnalyzableElementY, AstElementY, TopLevelElementMixin
+ with AnalyzableElementY,
+ AstElementY,
+ TopLevelElementMixin,
+ VariableElementMixin
implements dart2js.FieldElement {
analyzer.TopLevelVariableElement get element => super.element;
@@ -650,11 +662,30 @@ class TopLevelVariableElementY extends ElementY
: super(converter, element);
@override
- get initializer => unsupported('initializer');
+ get nestedClosures => unsupported('nestedClosures');
+}
+
+class LocalVariableElementY extends ElementY
+ with AnalyzableElementY, AstElementY, VariableElementMixin
+ implements dart2js.LocalVariableElement {
+
+ analyzer.LocalVariableElement get element => super.element;
+
+ dart2js.ElementKind get kind => dart2js.ElementKind.VARIABLE;
@override
- get memberContext => unsupported('memberContext');
+ bool get isLocal => true;
@override
- get nestedClosures => unsupported('nestedClosures');
+ bool get isConst => element.isConst;
+
+ LocalVariableElementY(ElementConverter converter,
+ analyzer.LocalVariableElement element)
+ : super(converter, element);
+
+ @override
+ get executableContext => unsupported('executableContext');
+
+ @override
+ dart2js.DartType get type => unsupported('type');
}

Powered by Google App Engine
This is Rietveld 408576698