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

Side by Side Diff: pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart

Issue 1657613004: dart2js cps: More type rules in type propagation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Rebase Created 4 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/cps_ir/type_mask_system.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 library dart2js.ir_nodes; 4 library dart2js.ir_nodes;
5 5
6 import 'dart:collection'; 6 import 'dart:collection';
7 import 'cps_fragment.dart' show CpsFragment; 7 import 'cps_fragment.dart' show CpsFragment;
8 import 'cps_ir_nodes_sexpr.dart'; 8 import 'cps_ir_nodes_sexpr.dart';
9 import '../constants/values.dart' as values; 9 import '../constants/values.dart' as values;
10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; 10 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType;
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 this.arguments = _referenceList(arguments); 692 this.arguments = _referenceList(arguments);
693 693
694 accept(Visitor visitor) => visitor.visitInvokeMethodDirectly(this); 694 accept(Visitor visitor) => visitor.visitInvokeMethodDirectly(this);
695 695
696 bool get hasValue => true; 696 bool get hasValue => true;
697 697
698 void setParentPointers() { 698 void setParentPointers() {
699 receiver.parent = this; 699 receiver.parent = this;
700 _setParentsOnList(arguments, this); 700 _setParentsOnList(arguments, this);
701 } 701 }
702
703 bool get isConstructorBodyCall => target is ConstructorBodyElement;
704 bool get isTearOff => selector.isGetter && !target.isGetter;
702 } 705 }
703 706
704 /// Non-const call to a constructor. 707 /// Non-const call to a constructor.
705 /// 708 ///
706 /// The [target] may be a generative constructor (forwarding or normal) 709 /// The [target] may be a generative constructor (forwarding or normal)
707 /// or a non-redirecting factory. 710 /// or a non-redirecting factory.
708 /// 711 ///
709 /// All optional arguments declared by [target] are passed in explicitly, and 712 /// All optional arguments declared by [target] are passed in explicitly, and
710 /// occur in the [arguments] list, in normalized order. 713 /// occur in the [arguments] list, in normalized order.
711 /// 714 ///
(...skipping 2194 matching lines...) Expand 10 before | Expand all | Expand 10 after
2906 plug(new Branch.loose(_definitions.getCopy(node.condition), 2909 plug(new Branch.loose(_definitions.getCopy(node.condition),
2907 _copies[node.trueContinuation.definition], 2910 _copies[node.trueContinuation.definition],
2908 _copies[node.falseContinuation.definition]) 2911 _copies[node.falseContinuation.definition])
2909 ..isStrictCheck = node.isStrictCheck); 2912 ..isStrictCheck = node.isStrictCheck);
2910 } 2913 }
2911 2914
2912 visitUnreachable(Unreachable node) { 2915 visitUnreachable(Unreachable node) {
2913 plug(new Unreachable()); 2916 plug(new Unreachable());
2914 } 2917 }
2915 } 2918 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/type_mask_system.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698