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

Side by Side Diff: pkg/analyzer/lib/src/summary/resynthesize.dart

Issue 1687793003: Remove irrelevant TODOs from summary code. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: 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 | « pkg/analyzer/lib/src/summary/idl.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 summary_resynthesizer; 5 library summary_resynthesizer;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 8
9 import 'package:analyzer/dart/ast/ast.dart'; 9 import 'package:analyzer/dart/ast/ast.dart';
10 import 'package:analyzer/dart/element/element.dart'; 10 import 'package:analyzer/dart/element/element.dart';
(...skipping 1031 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 buildExecutableCommonParts(executableElement, serializedExecutable); 1042 buildExecutableCommonParts(executableElement, serializedExecutable);
1043 DartType type; 1043 DartType type;
1044 if (kind == UnlinkedExecutableKind.getter) { 1044 if (kind == UnlinkedExecutableKind.getter) {
1045 executableElement.getter = true; 1045 executableElement.getter = true;
1046 type = executableElement.returnType; 1046 type = executableElement.returnType;
1047 } else { 1047 } else {
1048 executableElement.setter = true; 1048 executableElement.setter = true;
1049 type = executableElement.parameters[0].type; 1049 type = executableElement.parameters[0].type;
1050 } 1050 }
1051 holder.addAccessor(executableElement); 1051 holder.addAccessor(executableElement);
1052 // TODO(paulberry): consider removing implicit variables from the
1053 // element model; the spec doesn't call for them, and they cause
1054 // trouble when getters/setters exist in different parts.
1055 PropertyInducingElementImpl implicitVariable; 1052 PropertyInducingElementImpl implicitVariable;
1056 if (isTopLevel) { 1053 if (isTopLevel) {
1057 implicitVariable = buildImplicitTopLevelVariable(name, kind, holder); 1054 implicitVariable = buildImplicitTopLevelVariable(name, kind, holder);
1058 } else { 1055 } else {
1059 FieldElementImpl field = buildImplicitField(name, type, kind, holder); 1056 FieldElementImpl field = buildImplicitField(name, type, kind, holder);
1060 field.static = serializedExecutable.isStatic; 1057 field.static = serializedExecutable.isStatic;
1061 implicitVariable = field; 1058 implicitVariable = field;
1062 } 1059 }
1063 executableElement.variable = implicitVariable; 1060 executableElement.variable = implicitVariable;
1064 if (kind == UnlinkedExecutableKind.getter) { 1061 if (kind == UnlinkedExecutableKind.getter) {
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 */ 1504 */
1508 DartType buildType(EntityRef type, {bool defaultVoid: false}) { 1505 DartType buildType(EntityRef type, {bool defaultVoid: false}) {
1509 if (type == null) { 1506 if (type == null) {
1510 if (defaultVoid) { 1507 if (defaultVoid) {
1511 return VoidTypeImpl.instance; 1508 return VoidTypeImpl.instance;
1512 } else { 1509 } else {
1513 return summaryResynthesizer.typeProvider.dynamicType; 1510 return summaryResynthesizer.typeProvider.dynamicType;
1514 } 1511 }
1515 } 1512 }
1516 if (type.paramReference != 0) { 1513 if (type.paramReference != 0) {
1517 // TODO(paulberry): make this work for generic methods.
1518 return currentTypeParameters[ 1514 return currentTypeParameters[
1519 currentTypeParameters.length - type.paramReference] 1515 currentTypeParameters.length - type.paramReference]
1520 .type; 1516 .type;
1521 } else { 1517 } else {
1522 DartType getTypeArgument(int i) { 1518 DartType getTypeArgument(int i) {
1523 if (i < type.typeArguments.length) { 1519 if (i < type.typeArguments.length) {
1524 return buildType(type.typeArguments[i]); 1520 return buildType(type.typeArguments[i]);
1525 } else { 1521 } else {
1526 return summaryResynthesizer.typeProvider.dynamicType; 1522 return summaryResynthesizer.typeProvider.dynamicType;
1527 } 1523 }
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
2042 } 2038 }
2043 : () => this.element; 2039 : () => this.element;
2044 // TODO(paulberry): Is it a bug that we have to pass `false` for 2040 // TODO(paulberry): Is it a bug that we have to pass `false` for
2045 // isInstantiated? 2041 // isInstantiated?
2046 return new DeferredFunctionTypeImpl(computer, null, typeArguments, false); 2042 return new DeferredFunctionTypeImpl(computer, null, typeArguments, false);
2047 } else { 2043 } else {
2048 return null; 2044 return null;
2049 } 2045 }
2050 } 2046 }
2051 } 2047 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/idl.dart ('k') | pkg/analyzer/lib/src/summary/summarize_ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698