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

Unified Diff: pkg/compiler/lib/src/mirrors/dart2js_mirrors.dart

Issue 716913005: Replace ResolvedNode by ConstantExpression. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 6 years, 1 month 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/compiler/lib/src/mirrors/dart2js_mirrors.dart
diff --git a/pkg/compiler/lib/src/mirrors/dart2js_mirrors.dart b/pkg/compiler/lib/src/mirrors/dart2js_mirrors.dart
index f809260dffd6730656b61f18c01407c61ed9996c..5aa71debeb7f74c3ee64e8ff0c09d3ee8f0bcad7 100644
--- a/pkg/compiler/lib/src/mirrors/dart2js_mirrors.dart
+++ b/pkg/compiler/lib/src/mirrors/dart2js_mirrors.dart
@@ -448,19 +448,6 @@ class Dart2JsCompilationUnitMirror extends Dart2JsMirror with ContainerMixin {
Uri get uri => _element.script.resourceUri;
}
-class ResolvedNode {
- final node;
- final _elements;
- final _mirrorSystem;
- ResolvedNode(this.node, this._elements, this._mirrorSystem);
-
- Mirror resolvedMirror(node) {
- var element = _elements[node];
- if (element == null) return null;
- return _convertElementToDeclarationMirror(_mirrorSystem, element);
- }
-}
-
/**
* Transitional class that allows access to features that have not yet
* made it to the mirror API.
@@ -474,28 +461,25 @@ class BackDoor {
(cu) => new Dart2JsCompilationUnitMirror(cu, library));
}
- static Iterable metadataSyntaxOf(Dart2JsElementMirror declaration) {
- Compiler compiler = declaration.mirrorSystem.compiler;
- return declaration._element.metadata.map((metadata) {
- var node = metadata.parseNode(compiler);
- var treeElements = metadata.annotatedElement.treeElements;
- return new ResolvedNode(
- node, treeElements, declaration.mirrorSystem);
- });
+ static Iterable<ConstantExpression> metadataSyntaxOf(
+ Dart2JsElementMirror declaration) {
+ return declaration._element.metadata.map((metadata) => metadata.constant);
}
- static ResolvedNode initializerSyntaxOf(Dart2JsFieldMirror variable) {
- var node = variable._variable.initializer;
- if (node == null) return null;
- return new ResolvedNode(
- node, variable._variable.treeElements, variable.mirrorSystem);
+ static ConstantExpression initializerSyntaxOf(Dart2JsFieldMirror variable) {
+ Compiler compiler = variable.mirrorSystem.compiler;
+ return compiler.constants.getConstantForVariable(variable._variable);
}
- static ResolvedNode defaultValueSyntaxOf(Dart2JsParameterMirror parameter) {
+ static ConstantExpression defaultValueSyntaxOf(
+ Dart2JsParameterMirror parameter) {
if (!parameter.hasDefaultValue) return null;
ParameterElement parameterElement = parameter._element;
- var node = parameterElement.initializer;
- var treeElements = parameterElement.treeElements;
- return new ResolvedNode(node, treeElements, parameter.mirrorSystem);
+ Compiler compiler = parameter.mirrorSystem.compiler;
+ return compiler.constants.getConstantForVariable(parameterElement);
+ }
+
+ static Mirror getMirrorFromElement(Dart2JsMirror mirror, Element element) {
+ return _convertElementToDeclarationMirror(mirror.mirrorSystem, element);
}
}
« no previous file with comments | « pkg/compiler/lib/src/dart_backend/backend_ast_emitter.dart ('k') | pkg/docgen/lib/src/models/annotation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698