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

Side by Side Diff: pkg/compiler/lib/src/inferrer/type_graph_nodes.dart

Issue 2850783002: Dart SDK Spelling b, c, and d. (Closed)
Patch Set: Created 3 years, 7 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
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 4
5 library compiler.src.inferrer.type_graph_nodes; 5 library compiler.src.inferrer.type_graph_nodes;
6 6
7 import 'dart:collection' show IterableBase; 7 import 'dart:collection' show IterableBase;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common/names.dart' show Identifiers; 10 import '../common/names.dart' show Identifiers;
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 // might not see all call-sites and thus miss the use of it. 612 // might not see all call-sites and thus miss the use of it.
613 TypeInformation defaultType = inferrer.getDefaultTypeOfParameter(element); 613 TypeInformation defaultType = inferrer.getDefaultTypeOfParameter(element);
614 if (defaultType != null) defaultType.addUser(this); 614 if (defaultType != null) defaultType.addUser(this);
615 } 615 }
616 616
617 // TODO(herhut): Cleanup into one conditional. 617 // TODO(herhut): Cleanup into one conditional.
618 TypeMask handleSpecialCases(InferrerEngine inferrer) { 618 TypeMask handleSpecialCases(InferrerEngine inferrer) {
619 if (!inferrer.backend.canFunctionParametersBeUsedForGlobalOptimizations( 619 if (!inferrer.backend.canFunctionParametersBeUsedForGlobalOptimizations(
620 element.functionDeclaration) || 620 element.functionDeclaration) ||
621 inferrer.annotations.assumeDynamic(declaration)) { 621 inferrer.annotations.assumeDynamic(declaration)) {
622 // Do not infer types for parameters that have a correspondign annotation 622 // Do not infer types for parameters that have a corresponding annotation
623 // or that are assigned by synthesized calls. 623 // or that are assigned by synthesized calls.
624 giveUp(inferrer); 624 giveUp(inferrer);
625 return safeType(inferrer); 625 return safeType(inferrer);
626 } 626 }
627 627
628 // The below do not apply to parameters of constructors, so skip 628 // The below do not apply to parameters of constructors, so skip
629 // initializing formals. 629 // initializing formals.
630 if (element.isInitializingFormal) return null; 630 if (element.isInitializingFormal) return null;
631 631
632 if ((isTearOffClosureParameter || declaration.isLocal) && 632 if ((isTearOffClosureParameter || declaration.isLocal) &&
(...skipping 668 matching lines...) Expand 10 before | Expand all | Expand 10 after
1301 return 'Narrow to $typeAnnotation $type'; 1301 return 'Narrow to $typeAnnotation $type';
1302 } 1302 }
1303 1303
1304 accept(TypeInformationVisitor visitor) { 1304 accept(TypeInformationVisitor visitor) {
1305 return visitor.visitNarrowTypeInformation(this); 1305 return visitor.visitNarrowTypeInformation(this);
1306 } 1306 }
1307 } 1307 }
1308 1308
1309 /** 1309 /**
1310 * An [InferredTypeInformation] is a [TypeInformation] that 1310 * An [InferredTypeInformation] is a [TypeInformation] that
1311 * defaults to the dynamic type until it is marked as beeing 1311 * defaults to the dynamic type until it is marked as being
1312 * inferred, at which point it computes its type based on 1312 * inferred, at which point it computes its type based on
1313 * its assignments. 1313 * its assignments.
1314 */ 1314 */
1315 abstract class InferredTypeInformation extends TypeInformation { 1315 abstract class InferredTypeInformation extends TypeInformation {
1316 /** Whether the element type in that container has been inferred. */ 1316 /** Whether the element type in that container has been inferred. */
1317 bool inferred = false; 1317 bool inferred = false;
1318 1318
1319 InferredTypeInformation( 1319 InferredTypeInformation(
1320 MemberTypeInformation context, TypeInformation parentType) 1320 MemberTypeInformation context, TypeInformation parentType)
1321 : super(context) { 1321 : super(context) {
(...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1762 } else if (annotation.isVoid) { 1762 } else if (annotation.isVoid) {
1763 otherType = closedWorld.commonMasks.nullType; 1763 otherType = closedWorld.commonMasks.nullType;
1764 } else { 1764 } else {
1765 ResolutionInterfaceType interfaceType = annotation; 1765 ResolutionInterfaceType interfaceType = annotation;
1766 otherType = new TypeMask.nonNullSubtype(interfaceType.element, closedWorld); 1766 otherType = new TypeMask.nonNullSubtype(interfaceType.element, closedWorld);
1767 } 1767 }
1768 if (isNullable) otherType = otherType.nullable(); 1768 if (isNullable) otherType = otherType.nullable();
1769 if (type == null) return otherType; 1769 if (type == null) return otherType;
1770 return type.intersection(otherType, closedWorld); 1770 return type.intersection(otherType, closedWorld);
1771 } 1771 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/inferrer/locals_handler.dart ('k') | pkg/compiler/lib/src/io/position_information.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698