Index: pkg/code_transformers/lib/src/resolver_impl.dart |
diff --git a/pkg/code_transformers/lib/src/resolver_impl.dart b/pkg/code_transformers/lib/src/resolver_impl.dart |
index 93825212a48964889a989ea1f74dbda1e2dd9670..b70d646fea2fe52eb7ef30067affbc7cfd2bf9a4 100644 |
--- a/pkg/code_transformers/lib/src/resolver_impl.dart |
+++ b/pkg/code_transformers/lib/src/resolver_impl.dart |
@@ -6,7 +6,9 @@ library code_transformer.src.resolver_impl; |
import 'dart:async'; |
import 'package:analyzer/analyzer.dart' show parseCompilationUnit; |
-import 'package:analyzer/src/generated/ast.dart'; |
+import 'package:analyzer/src/generated/ast.dart' hide ConstantEvaluator; |
+import 'package:analyzer/src/generated/constant.dart' show ConstantEvaluator, |
+ EvaluationResult; |
import 'package:analyzer/src/generated/element.dart'; |
import 'package:analyzer/src/generated/engine.dart'; |
import 'package:analyzer/src/generated/error.dart'; |
@@ -36,7 +38,7 @@ class ResolverImpl implements Resolver { |
final Map<AssetId, _AssetBasedSource> sources = |
<AssetId, _AssetBasedSource>{}; |
- final AnalysisContext _context = |
+ final InternalAnalysisContext _context = |
AnalysisEngine.instance.createAnalysisContext(); |
/// Transform for which this is currently updating, or null when not updating. |
@@ -223,6 +225,12 @@ class ResolverImpl implements Resolver { |
orElse: () => null); |
} |
+ EvaluationResult evaluateConstant( |
+ LibraryElement library, Expression expression) { |
+ return new ConstantEvaluator(library.source, _context.typeProvider) |
+ .evaluate(expression); |
+ } |
+ |
Uri getImportUri(LibraryElement lib, {AssetId from}) => |
_getSourceUri(lib, from: from); |