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

Side by Side Diff: pkg/analyzer/lib/src/generated/error_verifier.dart

Issue 2167263002: fix #26141, add support for type arguments to constants (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 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
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 analyzer.src.generated.error_verifier; 5 library analyzer.src.generated.error_verifier;
6 6
7 import 'dart:collection'; 7 import 'dart:collection';
8 import "dart:math" as math; 8 import "dart:math" as math;
9 9
10 import 'package:analyzer/dart/ast/ast.dart'; 10 import 'package:analyzer/dart/ast/ast.dart';
(...skipping 850 matching lines...) Expand 10 before | Expand all | Expand 10 after
861 ConstructorName constructorName = node.constructorName; 861 ConstructorName constructorName = node.constructorName;
862 TypeName typeName = constructorName.type; 862 TypeName typeName = constructorName.type;
863 DartType type = typeName.type; 863 DartType type = typeName.type;
864 if (type is InterfaceType) { 864 if (type is InterfaceType) {
865 _checkForConstOrNewWithAbstractClass(node, typeName, type); 865 _checkForConstOrNewWithAbstractClass(node, typeName, type);
866 _checkForConstOrNewWithEnum(node, typeName, type); 866 _checkForConstOrNewWithEnum(node, typeName, type);
867 if (_isInConstInstanceCreation) { 867 if (_isInConstInstanceCreation) {
868 _checkForConstWithNonConst(node); 868 _checkForConstWithNonConst(node);
869 _checkForConstWithUndefinedConstructor( 869 _checkForConstWithUndefinedConstructor(
870 node, constructorName, typeName); 870 node, constructorName, typeName);
871 _checkForConstWithTypeParameters(typeName); 871 if (!_options.strongMode) {
872 _checkForConstWithTypeParameters(typeName);
873 }
872 _checkForConstDeferredClass(node, constructorName, typeName); 874 _checkForConstDeferredClass(node, constructorName, typeName);
873 } else { 875 } else {
874 _checkForNewWithUndefinedConstructor(node, constructorName, typeName); 876 _checkForNewWithUndefinedConstructor(node, constructorName, typeName);
875 } 877 }
876 } 878 }
877 _checkForImplicitDynamicType(typeName); 879 _checkForImplicitDynamicType(typeName);
878 return super.visitInstanceCreationExpression(node); 880 return super.visitInstanceCreationExpression(node);
879 } finally { 881 } finally {
880 _isInConstInstanceCreation = wasInConstInstanceCreation; 882 _isInConstInstanceCreation = wasInConstInstanceCreation;
881 } 883 }
(...skipping 5568 matching lines...) Expand 10 before | Expand all | Expand 10 after
6450 class _InvocationCollector extends RecursiveAstVisitor { 6452 class _InvocationCollector extends RecursiveAstVisitor {
6451 final List<String> superCalls = <String>[]; 6453 final List<String> superCalls = <String>[];
6452 6454
6453 @override 6455 @override
6454 visitMethodInvocation(MethodInvocation node) { 6456 visitMethodInvocation(MethodInvocation node) {
6455 if (node.target is SuperExpression) { 6457 if (node.target is SuperExpression) {
6456 superCalls.add(node.methodName.name); 6458 superCalls.add(node.methodName.name);
6457 } 6459 }
6458 } 6460 }
6459 } 6461 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698