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

Unified Diff: pkg/compiler/lib/src/kernel/element_map_impl.dart

Issue 2998543002: Handle js interop members in impact computation. (Closed)
Patch Set: Updated cf. comments. Created 3 years, 4 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
« no previous file with comments | « pkg/compiler/lib/src/kernel/element_map.dart ('k') | pkg/compiler/lib/src/kernel/kernel_strategy.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0ea848812b398acbfc04acced7577e27559a234f..6f5b6de00295a2226db157c2a750b950d4f953a5 100644
--- a/pkg/compiler/lib/src/kernel/element_map_impl.dart
+++ b/pkg/compiler/lib/src/kernel/element_map_impl.dart
@@ -989,9 +989,10 @@ class KernelToElementMapForImpactImpl extends KernelToElementMapBase
KElementCreatorMixin {
native.BehaviorBuilder _nativeBehaviorBuilder;
FrontendStrategy _frontendStrategy;
+ CompilerOptions _options;
KernelToElementMapForImpactImpl(DiagnosticReporter reporter,
- Environment environment, this._frontendStrategy)
+ Environment environment, this._frontendStrategy, this._options)
: super(reporter, environment);
@override
@@ -1016,7 +1017,8 @@ class KernelToElementMapForImpactImpl extends KernelToElementMapBase
@override
native.BehaviorBuilder get nativeBehaviorBuilder =>
- _nativeBehaviorBuilder ??= new KernelBehaviorBuilder(commonElements);
+ _nativeBehaviorBuilder ??= new KernelBehaviorBuilder(elementEnvironment,
+ commonElements, nativeBasicData, reporter, _options);
ResolutionImpact computeWorldImpact(KMember member) {
return buildKernelImpact(
@@ -1033,10 +1035,6 @@ class KernelToElementMapForImpactImpl extends KernelToElementMapBase
return _memberData[method.memberIndex].definition.node;
}
- Iterable<ConstantValue> _getClassMetadata(KClass cls) {
- return _classData[cls.classIndex].getMetadata(this);
- }
-
@override
Local getLocalFunction(ir.TreeNode node) {
assert(
@@ -1378,25 +1376,18 @@ class DartTypeConverter extends ir.DartTypeVisitor<DartType> {
/// [native.BehaviorBuilder] for kernel based elements.
class KernelBehaviorBuilder extends native.BehaviorBuilder {
+ final ElementEnvironment elementEnvironment;
final CommonElements commonElements;
+ final DiagnosticReporter reporter;
+ final NativeBasicData nativeBasicData;
+ final CompilerOptions _options;
- KernelBehaviorBuilder(this.commonElements);
+ KernelBehaviorBuilder(this.elementEnvironment, this.commonElements,
+ this.nativeBasicData, this.reporter, this._options);
@override
- bool get trustJSInteropTypeAnnotations {
- throw new UnimplementedError(
- "KernelNativeBehaviorComputer.trustJSInteropTypeAnnotations");
- }
-
- @override
- DiagnosticReporter get reporter {
- throw new UnimplementedError("KernelNativeBehaviorComputer.reporter");
- }
-
- NativeBasicData get nativeBasicData {
- throw new UnimplementedError(
- "KernelNativeBehaviorComputer.nativeBasicData");
- }
+ bool get trustJSInteropTypeAnnotations =>
+ _options.trustJSInteropTypeAnnotations;
}
/// Constant environment mapping [ConstantExpression]s to [ConstantValue]s using
@@ -1735,8 +1726,7 @@ class KernelNativeMemberResolver extends NativeMemberResolverBase {
@override
bool isJsInteropMember(MemberEntity element) {
- // TODO(redemption): Compute this.
- return false;
+ return nativeBasicData.isJsInteropMember(element);
}
}
« no previous file with comments | « pkg/compiler/lib/src/kernel/element_map.dart ('k') | pkg/compiler/lib/src/kernel/kernel_strategy.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698