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

Side by Side Diff: lib/analyzer/ast_from_analyzer.dart

Issue 2464843002: Fix some strong mode issues. (Closed)
Patch Set: Revert .analysis_options as there are still strong-mode issues Created 4 years, 1 month 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 | lib/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) 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 library kernel.analyzer.ast_from_analyzer; 4 library kernel.analyzer.ast_from_analyzer;
5 5
6 import '../ast.dart' as ast; 6 import '../ast.dart' as ast;
7 import '../frontend/accessors.dart'; 7 import '../frontend/accessors.dart';
8 import '../frontend/super_initializers.dart'; 8 import '../frontend/super_initializers.dart';
9 import '../log.dart'; 9 import '../log.dart';
10 import '../type_algebra.dart'; 10 import '../type_algebra.dart';
(...skipping 2408 matching lines...) Expand 10 before | Expand all | Expand 10 after
2419 2419
2420 /// True for the `index` field of an `enum` class. 2420 /// True for the `index` field of an `enum` class.
2421 static bool _isIndexField(FieldElement field) => field.name == 'index'; 2421 static bool _isIndexField(FieldElement field) => field.name == 'index';
2422 2422
2423 visitEnumDeclaration(EnumDeclaration node) { 2423 visitEnumDeclaration(EnumDeclaration node) {
2424 addAnnotations(node.metadata); 2424 addAnnotations(node.metadata);
2425 ast.Class classNode = currentClass; 2425 ast.Class classNode = currentClass;
2426 var intType = 2426 var intType =
2427 new ast.InterfaceType(scope.loader.getCoreClassReference('int')); 2427 new ast.InterfaceType(scope.loader.getCoreClassReference('int'));
2428 var indexFieldElement = element.fields.firstWhere(_isIndexField); 2428 var indexFieldElement = element.fields.firstWhere(_isIndexField);
2429 var indexField = scope.getMemberReference(indexFieldElement); 2429 ast.Field indexField = scope.getMemberReference(indexFieldElement);
2430 indexField.type = intType; 2430 indexField.type = intType;
2431 classNode.addMember(indexField); 2431 classNode.addMember(indexField);
2432 var parameter = new ast.VariableDeclaration('index', type: intType); 2432 var parameter = new ast.VariableDeclaration('index', type: intType);
2433 var function = new ast.FunctionNode(new ast.EmptyStatement(), 2433 var function = new ast.FunctionNode(new ast.EmptyStatement(),
2434 positionalParameters: [parameter]); 2434 positionalParameters: [parameter]);
2435 var superConstructor = scope.loader.getRootClassConstructorReference(); 2435 var superConstructor = scope.loader.getRootClassConstructorReference();
2436 var constructor = new ast.Constructor(function, 2436 var constructor = new ast.Constructor(function,
2437 name: new ast.Name(''), 2437 name: new ast.Name(''),
2438 isConst: true, 2438 isConst: true,
2439 initializers: [ 2439 initializers: [
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
2772 if (element is FieldElement) return element.getter; 2772 if (element is FieldElement) return element.getter;
2773 return element; 2773 return element;
2774 } 2774 }
2775 2775
2776 Element desynthesizeSetter(Element element) { 2776 Element desynthesizeSetter(Element element) {
2777 if (element == null || !element.isSynthetic) return element; 2777 if (element == null || !element.isSynthetic) return element;
2778 if (element is PropertyAccessorElement) return element.variable; 2778 if (element is PropertyAccessorElement) return element.variable;
2779 if (element is FieldElement) return element.setter; 2779 if (element is FieldElement) return element.setter;
2780 return element; 2780 return element;
2781 } 2781 }
OLDNEW
« no previous file with comments | « no previous file | lib/ast.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698