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

Side by Side Diff: pkg/compiler/lib/src/ssa/builder_kernel.dart

Issue 2685783003: Fix access to returnTypeOf (Closed)
Patch Set: Created 3 years, 10 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 unified diff | Download patch
« no previous file with comments | « no previous file | pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 import 'package:kernel/ast.dart' as ir; 5 import 'package:kernel/ast.dart' as ir;
6 6
7 import '../closure.dart'; 7 import '../closure.dart';
8 import '../common.dart'; 8 import '../common.dart';
9 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem; 9 import '../common/codegen.dart' show CodegenRegistry, CodegenWorkItem;
10 import '../common/names.dart'; 10 import '../common/names.dart';
(...skipping 2733 matching lines...) Expand 10 before | Expand all | Expand 10 after
2744 // TODO(efortuna): Add source information. 2744 // TODO(efortuna): Add source information.
2745 HInstruction receiver = localsHandler.readThis(); 2745 HInstruction receiver = localsHandler.readThis();
2746 2746
2747 List<HInstruction> inputs = <HInstruction>[]; 2747 List<HInstruction> inputs = <HInstruction>[];
2748 if (astAdapter.isInterceptedSelector(selector)) { 2748 if (astAdapter.isInterceptedSelector(selector)) {
2749 inputs.add(_interceptorFor(receiver)); 2749 inputs.add(_interceptorFor(receiver));
2750 } 2750 }
2751 inputs.add(receiver); 2751 inputs.add(receiver);
2752 inputs.addAll(arguments); 2752 inputs.addAll(arguments);
2753 2753
2754 TypeMask typeMask;
2755 if (interfaceTarget is ir.Procedure) {
2756 typeMask = astAdapter.returnTypeOf(interfaceTarget);
2757 } else {
2758 typeMask = closedWorld.commonMasks.dynamicType;
2759 }
2754 HInstruction instruction = new HInvokeSuper( 2760 HInstruction instruction = new HInvokeSuper(
2755 astAdapter.getMember(interfaceTarget), 2761 astAdapter.getMember(interfaceTarget),
2756 astAdapter.getClass(containingClass), 2762 astAdapter.getClass(containingClass),
2757 selector, 2763 selector,
2758 inputs, 2764 inputs,
2759 astAdapter.returnTypeOf(interfaceTarget), 2765 typeMask,
2760 null, 2766 null,
2761 isSetter: selector.isSetter || selector.isIndexSet); 2767 isSetter: selector.isSetter || selector.isIndexSet);
2762 instruction.sideEffects = 2768 instruction.sideEffects =
2763 closedWorld.getSideEffectsOfSelector(selector, null); 2769 closedWorld.getSideEffectsOfSelector(selector, null);
2764 push(instruction); 2770 push(instruction);
2765 return instruction; 2771 return instruction;
2766 } 2772 }
2767 2773
2768 @override 2774 @override
2769 void visitSuperPropertyGet(ir.SuperPropertyGet propertyGet) { 2775 void visitSuperPropertyGet(ir.SuperPropertyGet propertyGet) {
(...skipping 451 matching lines...) Expand 10 before | Expand all | Expand 10 after
3221 enterBlock.setBlockFlow( 3227 enterBlock.setBlockFlow(
3222 new HTryBlockInformation( 3228 new HTryBlockInformation(
3223 kernelBuilder.wrapStatementGraph(bodyGraph), 3229 kernelBuilder.wrapStatementGraph(bodyGraph),
3224 exception, 3230 exception,
3225 kernelBuilder.wrapStatementGraph(catchGraph), 3231 kernelBuilder.wrapStatementGraph(catchGraph),
3226 kernelBuilder.wrapStatementGraph(finallyGraph)), 3232 kernelBuilder.wrapStatementGraph(finallyGraph)),
3227 exitBlock); 3233 exitBlock);
3228 kernelBuilder.inTryStatement = previouslyInTryStatement; 3234 kernelBuilder.inTryStatement = previouslyInTryStatement;
3229 } 3235 }
3230 } 3236 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/ssa/kernel_ast_adapter.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698