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

Side by Side Diff: pkg/compiler/lib/src/serialization/resolved_ast_serialization.dart

Issue 2934333002: More dart2js strong mode cleanup. (Closed)
Patch Set: Created 3 years, 6 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) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 dart2js.serialization.resolved_ast; 5 library dart2js.serialization.resolved_ast;
6 6
7 import 'package:front_end/src/fasta/parser.dart' show Parser, ParserError; 7 import 'package:front_end/src/fasta/parser.dart' show Parser, ParserError;
8 import 'package:front_end/src/fasta/scanner.dart'; 8 import 'package:front_end/src/fasta/scanner.dart';
9 9
10 import '../common.dart'; 10 import '../common.dart';
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 serializeLabelDefinition(labelDefinition, list.createObject()); 171 serializeLabelDefinition(labelDefinition, list.createObject());
172 } 172 }
173 } 173 }
174 174
175 if (element is FunctionElement) { 175 if (element is FunctionElement) {
176 serializeParameterNodes(element); 176 serializeParameterNodes(element);
177 } 177 }
178 } 178 }
179 179
180 void serializeParameterNodes(FunctionElement function) { 180 void serializeParameterNodes(FunctionElement function) {
181 function.functionSignature.forEachParameter((ParameterElement parameter) { 181 function.functionSignature.forEachParameter((_parameter) {
182 ParameterElement parameter = _parameter;
182 ParameterElement parameterImpl = parameter.implementation; 183 ParameterElement parameterImpl = parameter.implementation;
183 // TODO(johnniwinther): Should we support element->node mapping as well? 184 // TODO(johnniwinther): Should we support element->node mapping as well?
184 getNodeDataEncoder(parameterImpl.node) 185 getNodeDataEncoder(parameterImpl.node)
185 .setElement(PARAMETER_NODE, parameter); 186 .setElement(PARAMETER_NODE, parameter);
186 if (parameter.initializer != null) { 187 if (parameter.initializer != null) {
187 getNodeDataEncoder(parameterImpl.initializer) 188 getNodeDataEncoder(parameterImpl.initializer)
188 .setElement(PARAMETER_INITIALIZER, parameter); 189 .setElement(PARAMETER_INITIALIZER, parameter);
189 } 190 }
190 }); 191 });
191 } 192 }
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
598 String labelName = decoder.getString(Key.NAME); 599 String labelName = decoder.getString(Key.NAME);
599 JumpTarget target = jumpTargets[decoder.getInt(Key.JUMP_TARGET)]; 600 JumpTarget target = jumpTargets[decoder.getInt(Key.JUMP_TARGET)];
600 LabelDefinitionX labelDefinition = 601 LabelDefinitionX labelDefinition =
601 new LabelDefinitionX(label, labelName, target); 602 new LabelDefinitionX(label, labelName, target);
602 labelDefinition.isBreakTarget = decoder.getBool(Key.IS_BREAK_TARGET); 603 labelDefinition.isBreakTarget = decoder.getBool(Key.IS_BREAK_TARGET);
603 labelDefinition.isContinueTarget = 604 labelDefinition.isContinueTarget =
604 decoder.getBool(Key.IS_CONTINUE_TARGET); 605 decoder.getBool(Key.IS_CONTINUE_TARGET);
605 labelDefinitions.add(labelDefinition); 606 labelDefinitions.add(labelDefinition);
606 } 607 }
607 } 608 }
608 jumpTargetLabels.forEach((JumpTargetX jumpTarget, List<int> labelIds) { 609 jumpTargetLabels.forEach((JumpTarget jumpTarget, List<int> labelIds) {
609 if (labelIds.isEmpty) return; 610 if (labelIds.isEmpty) return;
610 List<LabelDefinition> labels = <LabelDefinition>[]; 611 List<LabelDefinition> labels = <LabelDefinition>[];
611 for (int labelId in labelIds) { 612 for (int labelId in labelIds) {
612 labels.add(labelDefinitions[labelId]); 613 labels.add(labelDefinitions[labelId]);
613 } 614 }
614 jumpTarget.labels = labels; 615 JumpTargetX target = jumpTarget;
616 target.labels = labels;
615 }); 617 });
616 618
617 ListDecoder dataDecoder = objectDecoder.getList(Key.DATA, isOptional: true); 619 ListDecoder dataDecoder = objectDecoder.getList(Key.DATA, isOptional: true);
618 if (dataDecoder != null) { 620 if (dataDecoder != null) {
619 for (int i = 0; i < dataDecoder.length; i++) { 621 for (int i = 0; i < dataDecoder.length; i++) {
620 ObjectDecoder objectDecoder = dataDecoder.getObject(i); 622 ObjectDecoder objectDecoder = dataDecoder.getObject(i);
621 int id = objectDecoder.getInt(Key.ID); 623 int id = objectDecoder.getInt(Key.ID);
622 Node node = nodeList[id]; 624 Node node = nodeList[id];
623 Element nodeElement = deserializeElementReference( 625 Element nodeElement = deserializeElementReference(
624 element, Key.ELEMENT, Key.NAME, objectDecoder, 626 element, Key.ELEMENT, Key.NAME, objectDecoder,
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
707 } 709 }
708 } 710 }
709 } 711 }
710 element.resolvedAst = 712 element.resolvedAst =
711 new ParsedResolvedAst(element, root, body, elements, uri); 713 new ParsedResolvedAst(element, root, body, elements, uri);
712 } 714 }
713 } 715 }
714 716
715 const Key PARAMETER_NODE = const Key('parameter.node'); 717 const Key PARAMETER_NODE = const Key('parameter.node');
716 const Key PARAMETER_INITIALIZER = const Key('parameter.initializer'); 718 const Key PARAMETER_INITIALIZER = const Key('parameter.initializer');
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698