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

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

Issue 1214643003: dart2js cps: Set receiver type in type propagation. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Remove JavaScriptBackend + update status Created 5 years, 5 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_propagation.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 '../constants/expressions.dart'; 6 import '../constants/expressions.dart';
7 import '../constants/values.dart' as values show ConstantValue; 7 import '../constants/values.dart' as values show ConstantValue;
8 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType; 8 import '../dart_types.dart' show DartType, InterfaceType, TypeVariableType;
9 import '../elements/elements.dart'; 9 import '../elements/elements.dart';
10 import '../io/source_information.dart' show SourceInformation; 10 import '../io/source_information.dart' show SourceInformation;
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 accept(Visitor visitor) => visitor.visitSetField(this); 609 accept(Visitor visitor) => visitor.visitSetField(this);
610 } 610 }
611 611
612 /// Directly reads from a field on a given object. 612 /// Directly reads from a field on a given object.
613 /// 613 ///
614 /// The [object] must either be `null` or an object that has [field]. 614 /// The [object] must either be `null` or an object that has [field].
615 class GetField extends Primitive { 615 class GetField extends Primitive {
616 final Reference<Primitive> object; 616 final Reference<Primitive> object;
617 FieldElement field; 617 FieldElement field;
618 618
619 /// True if the receiver is known not to be null. 619 /// True if the object is known not to be null.
620 // TODO(asgerf): This is a placeholder until we agree on how to track 620 // TODO(asgerf): This is a placeholder until we agree on how to track
621 // side effects. 621 // side effects.
622 bool objectIsNotNull = false; 622 bool objectIsNotNull = false;
623 623
624 GetField(Primitive object, this.field) 624 GetField(Primitive object, this.field)
625 : this.object = new Reference<Primitive>(object); 625 : this.object = new Reference<Primitive>(object);
626 626
627 accept(Visitor visitor) => visitor.visitGetField(this); 627 accept(Visitor visitor) => visitor.visitGetField(this);
628 628
629 @override 629 @override
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after
1271 const RemovalVisitor(); 1271 const RemovalVisitor();
1272 1272
1273 processReference(Reference reference) { 1273 processReference(Reference reference) {
1274 reference.unlink(); 1274 reference.unlink();
1275 } 1275 }
1276 1276
1277 static void remove(Node node) { 1277 static void remove(Node node) {
1278 (const RemovalVisitor()).visit(node); 1278 (const RemovalVisitor()).visit(node);
1279 } 1279 }
1280 } 1280 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/cps_ir/type_propagation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698