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

Side by Side Diff: pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart

Issue 1348063002: Make the universe parts into small libraries. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 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 | « pkg/compiler/lib/src/ssa/ssa.dart ('k') | pkg/compiler/lib/src/types/types.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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 library tree_ir_nodes; 5 library tree_ir_nodes;
6 6
7 import '../constants/values.dart' as values; 7 import '../constants/values.dart' as values;
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;
11 import '../types/types.dart' show TypeMask; 11 import '../types/types.dart' show TypeMask;
12 import '../universe/universe.dart' show Selector; 12 import '../universe/selector.dart' show Selector;
13 13
14 import '../cps_ir/builtin_operator.dart'; 14 import '../cps_ir/builtin_operator.dart';
15 export '../cps_ir/builtin_operator.dart'; 15 export '../cps_ir/builtin_operator.dart';
16 16
17 // These imports are only used for the JavaScript specific nodes. If we want to 17 // These imports are only used for the JavaScript specific nodes. If we want to
18 // support more than one native backend, we should probably create better 18 // support more than one native backend, we should probably create better
19 // abstractions for native code and its type and effect system. 19 // abstractions for native code and its type and effect system.
20 import '../js/js.dart' as js show Template; 20 import '../js/js.dart' as js show Template;
21 import '../native/native.dart' as native show NativeBehavior; 21 import '../native/native.dart' as native show NativeBehavior;
22 import '../types/types.dart' as types show TypeMask; 22 import '../types/types.dart' as types show TypeMask;
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 } 365 }
366 } 366 }
367 367
368 class ApplyBuiltinMethod extends Expression { 368 class ApplyBuiltinMethod extends Expression {
369 BuiltinMethod method; 369 BuiltinMethod method;
370 Expression receiver; 370 Expression receiver;
371 List<Expression> arguments; 371 List<Expression> arguments;
372 372
373 bool receiverIsNotNull; 373 bool receiverIsNotNull;
374 374
375 ApplyBuiltinMethod(this.method, 375 ApplyBuiltinMethod(this.method,
376 this.receiver, 376 this.receiver,
377 this.arguments, 377 this.arguments,
378 {this.receiverIsNotNull: false}); 378 {this.receiverIsNotNull: false});
379 379
380 accept(ExpressionVisitor visitor) { 380 accept(ExpressionVisitor visitor) {
381 return visitor.visitApplyBuiltinMethod(this); 381 return visitor.visitApplyBuiltinMethod(this);
382 } 382 }
383 accept1(ExpressionVisitor1 visitor, arg) { 383 accept1(ExpressionVisitor1 visitor, arg) {
384 return visitor.visitApplyBuiltinMethod(this, arg); 384 return visitor.visitApplyBuiltinMethod(this, arg);
385 } 385 }
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 Statement get next => null; 494 Statement get next => null;
495 void set next(Statement s) => throw 'UNREACHABLE'; 495 void set next(Statement s) => throw 'UNREACHABLE';
496 496
497 accept(StatementVisitor visitor) => visitor.visitWhileTrue(this); 497 accept(StatementVisitor visitor) => visitor.visitWhileTrue(this);
498 accept1(StatementVisitor1 visitor, arg) => visitor.visitWhileTrue(this, arg); 498 accept1(StatementVisitor1 visitor, arg) => visitor.visitWhileTrue(this, arg);
499 } 499 }
500 500
501 /** 501 /**
502 * A loop with a condition and update expressions. If there are any update 502 * A loop with a condition and update expressions. If there are any update
503 * expressions, this generates a for loop, otherwise a while loop. 503 * expressions, this generates a for loop, otherwise a while loop.
504 * 504 *
505 * When the condition is false, control resumes at the [next] statement. 505 * When the condition is false, control resumes at the [next] statement.
506 * 506 *
507 * It is NOT valid to target this statement with a [Break]. 507 * It is NOT valid to target this statement with a [Break].
508 * The only way to reach [next] is for the condition to evaluate to false. 508 * The only way to reach [next] is for the condition to evaluate to false.
509 * 509 *
510 * [For] statements are introduced in the [LoopRewriter] and are 510 * [For] statements are introduced in the [LoopRewriter] and are
511 * assumed not to occur before then. 511 * assumed not to occur before then.
512 */ 512 */
513 class For extends Loop { 513 class For extends Loop {
514 final Label label; 514 final Label label;
(...skipping 1022 matching lines...) Expand 10 before | Expand all | Expand 10 after
1537 1537
1538 /// Number of uses of the current fallthrough target. 1538 /// Number of uses of the current fallthrough target.
1539 int get useCount => _stack.last.useCount; 1539 int get useCount => _stack.last.useCount;
1540 1540
1541 /// Indicate that a statement will fall through to the current fallthrough 1541 /// Indicate that a statement will fall through to the current fallthrough
1542 /// target. 1542 /// target.
1543 void use() { 1543 void use() {
1544 ++_stack.last.useCount; 1544 ++_stack.last.useCount;
1545 } 1545 }
1546 } 1546 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/ssa/ssa.dart ('k') | pkg/compiler/lib/src/types/types.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698