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

Unified Diff: pkg/compiler/lib/src/resolution/resolution_strategy.dart

Issue 2854013002: Make JavaScriptBackend.processAnnotations element-model agnostic (Closed)
Patch Set: Created 3 years, 8 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/compiler/lib/src/resolution/resolution_strategy.dart
diff --git a/pkg/compiler/lib/src/resolution/resolution_strategy.dart b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
index 2400bd99d121d7c45ce668f35138d7fce8d33433..5dfe58fcfc126543e6e44454a7009a0a1a67abf6 100644
--- a/pkg/compiler/lib/src/resolution/resolution_strategy.dart
+++ b/pkg/compiler/lib/src/resolution/resolution_strategy.dart
@@ -10,8 +10,8 @@ import '../common/backend_api.dart';
import '../common/names.dart';
import '../common/resolution.dart';
import '../common/tasks.dart';
-import '../constants/values.dart';
import '../compiler.dart';
+import '../constants/values.dart';
import '../elements/elements.dart';
import '../elements/entities.dart';
import '../elements/modelx.dart';
@@ -425,6 +425,22 @@ class _CompilerElementEnvironment implements ElementEnvironment {
type.computeUnaliased(_resolution);
return type.unaliased;
}
+
+ @override
+ Iterable<ConstantValue> getMemberMetadata(MemberElement element) {
+ List<ConstantValue> values = <ConstantValue>[];
+ _compiler.reporter.withCurrentElement(element, () {
+ for (MetadataAnnotation metadata in element.implementation.metadata) {
+ metadata.ensureResolved(_compiler.resolution);
+ assert(invariant(metadata, metadata.constant != null,
+ message: "Unevaluated metadata constant."));
+ ConstantValue value =
+ _compiler.constants.getConstantValue(metadata.constant);
+ values.add(value);
+ }
+ });
+ return values;
+ }
}
/// AST-based logic for processing annotations. These annotations are processed

Powered by Google App Engine
This is Rietveld 408576698