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

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

Issue 2983553002: Use more entities in InferrerEngineImpl (Closed)
Patch Set: Created 3 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/inferrer/inferrer_engine.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 4
5 library simple_types_inferrer; 5 library simple_types_inferrer;
6 6
7 import '../closure.dart' show ClosureRepresentationInfo; 7 import '../closure.dart' show ClosureRepresentationInfo;
8 import '../common.dart'; 8 import '../common.dart';
9 import '../common/names.dart' show Identifiers, Selectors; 9 import '../common/names.dart' show Identifiers, Selectors;
10 import '../compiler.dart' show Compiler; 10 import '../compiler.dart' show Compiler;
(...skipping 943 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 declarationMethod is ConstructorElement, 954 declarationMethod is ConstructorElement,
955 failedAt( 955 failedAt(
956 parameter, 956 parameter,
957 "Unexpected function declaration " 957 "Unexpected function declaration "
958 "${declarationMethod}, expected ${analyzedElement}.")); 958 "${declarationMethod}, expected ${analyzedElement}."));
959 visitor = new ElementGraphBuilder(declarationMethod, 959 visitor = new ElementGraphBuilder(declarationMethod,
960 parameter.functionDeclaration.resolvedAst, compiler, inferrer); 960 parameter.functionDeclaration.resolvedAst, compiler, inferrer);
961 } 961 }
962 TypeInformation type = 962 TypeInformation type =
963 (defaultValue == null) ? types.nullType : visitor.visit(defaultValue); 963 (defaultValue == null) ? types.nullType : visitor.visit(defaultValue);
964 inferrer.setDefaultTypeOfParameter(parameter, type); 964 inferrer.setDefaultTypeOfParameter(parameter, type,
965 isInstanceMember: function.isInstanceMember);
965 }); 966 });
966 967
967 if (closedWorld.nativeData.isNativeMember(analyzedElement)) { 968 if (closedWorld.nativeData.isNativeMember(analyzedElement)) {
968 // Native methods do not have a body, and we currently just say 969 // Native methods do not have a body, and we currently just say
969 // they return dynamic. 970 // they return dynamic.
970 return types.dynamicType; 971 return types.dynamicType;
971 } 972 }
972 973
973 if (analyzedElement.isGenerativeConstructor) { 974 if (analyzedElement.isGenerativeConstructor) {
974 ConstructorElement analyzedConstructor = analyzedElement; 975 ConstructorElement analyzedConstructor = analyzedElement;
(...skipping 1976 matching lines...) Expand 10 before | Expand all | Expand 10 after
2951 Selector moveNextSelector = Selectors.moveNext; 2952 Selector moveNextSelector = Selectors.moveNext;
2952 TypeMask moveNextMask = memberData.typeOfIteratorMoveNext(node); 2953 TypeMask moveNextMask = memberData.typeOfIteratorMoveNext(node);
2953 2954
2954 TypeInformation iteratorType = handleDynamicSend(node, iteratorSelector, 2955 TypeInformation iteratorType = handleDynamicSend(node, iteratorSelector,
2955 iteratorMask, expressionType, new ArgumentsTypes.empty()); 2956 iteratorMask, expressionType, new ArgumentsTypes.empty());
2956 2957
2957 return handleForInLoop(node, iteratorType, currentSelector, currentMask, 2958 return handleForInLoop(node, iteratorType, currentSelector, currentMask,
2958 moveNextSelector, moveNextMask); 2959 moveNextSelector, moveNextMask);
2959 } 2960 }
2960 } 2961 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/inferrer/inferrer_engine.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698