| Index: pkg/compiler/lib/src/kernel/element_map_impl.dart
|
| diff --git a/pkg/compiler/lib/src/kernel/element_map_impl.dart b/pkg/compiler/lib/src/kernel/element_map_impl.dart
|
| index e7d3cd0d506cd82b588be8635cb46f08e514bb25..54b2504bb76966200deb4a527258387220efc5fc 100644
|
| --- a/pkg/compiler/lib/src/kernel/element_map_impl.dart
|
| +++ b/pkg/compiler/lib/src/kernel/element_map_impl.dart
|
| @@ -47,9 +47,24 @@ part 'native_basic_data.dart';
|
| part 'no_such_method_resolver.dart';
|
| part 'types.dart';
|
|
|
| +/// Interface for kernel queries needed to implement the [CodegenWorldBuilder].
|
| +abstract class KernelToWorldBuilder implements KernelToElementMap {
|
| + /// Returns `true` if [field] has a constant initializer.
|
| + bool hasConstantFieldInitializer(FieldEntity field);
|
| +
|
| + /// Returns the constant initializer for [field].
|
| + ConstantValue getConstantFieldInitializer(FieldEntity field);
|
| +
|
| + /// Calls [f] for each parameter of [function] providing the type and name of
|
| + /// the parameter and the [defaultValue] if the parameter is optional.
|
| + void forEachParameter(FunctionEntity function,
|
| + void f(DartType type, String name, ConstantValue defaultValue));
|
| +}
|
| +
|
| /// Element builder used for creating elements and types corresponding to Kernel
|
| /// IR nodes.
|
| -class KernelToElementMapImpl extends KernelToElementMapMixin {
|
| +class KernelToElementMapImpl extends KernelToElementMapMixin
|
| + implements KernelToWorldBuilder {
|
| final Environment _environment;
|
| CommonElements _commonElements;
|
| native.BehaviorBuilder _nativeBehaviorBuilder;
|
| @@ -1752,7 +1767,8 @@ class KernelNativeMemberResolver extends NativeMemberResolverBase {
|
| }
|
| }
|
|
|
| -class JsKernelToElementMap extends KernelToElementMapMixin {
|
| +class JsKernelToElementMap extends KernelToElementMapMixin
|
| + implements KernelToWorldBuilder {
|
| final JsToFrontendMap _map;
|
| final ElementEnvironment _elementEnvironment;
|
| final CommonElements _commonElements;
|
| @@ -1877,4 +1893,22 @@ class JsKernelToElementMap extends KernelToElementMapMixin {
|
| ConstantValue getFieldConstantValue(ir.Field field) {
|
| throw new UnsupportedError("JsKernelToElementMap.getFieldConstantValue");
|
| }
|
| +
|
| + @override
|
| + void forEachParameter(FunctionEntity function,
|
| + void f(DartType type, String name, ConstantValue defaultValue)) {
|
| + throw new UnsupportedError("JsKernelToElementMap.forEachParameter");
|
| + }
|
| +
|
| + @override
|
| + ConstantValue getConstantFieldInitializer(FieldEntity field) {
|
| + throw new UnsupportedError(
|
| + "JsKernelToElementMap.getConstantFieldInitializer");
|
| + }
|
| +
|
| + @override
|
| + bool hasConstantFieldInitializer(FieldEntity field) {
|
| + throw new UnsupportedError(
|
| + "JsKernelToElementMap.hasConstantFieldInitializer");
|
| + }
|
| }
|
|
|