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

Side by Side Diff: pkg/front_end/lib/src/fasta/kernel/kernel_class_builder.dart

Issue 2974933002: Remove deprecated_internalProblem. (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
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 fasta.kernel_class_builder; 5 library fasta.kernel_class_builder;
6 6
7 import 'package:front_end/src/fasta/kernel/kernel_shadow_ast.dart'
8 show KernelMember;
9
10 import 'package:kernel/ast.dart' 7 import 'package:kernel/ast.dart'
11 show 8 show
12 Class, 9 Class,
13 Constructor, 10 Constructor,
14 DartType, 11 DartType,
15 Expression, 12 Expression,
16 Field, 13 Field,
17 FunctionNode, 14 FunctionNode,
18 InterfaceType, 15 InterfaceType,
19 ListLiteral, 16 ListLiteral,
20 Member, 17 Member,
21 Name, 18 Name,
22 Procedure, 19 Procedure,
23 ProcedureKind, 20 ProcedureKind,
24 StaticGet, 21 StaticGet,
25 Supertype, 22 Supertype,
26 VariableDeclaration; 23 VariableDeclaration;
27 24
28 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy; 25 import 'package:kernel/class_hierarchy.dart' show ClassHierarchy;
29 26
30 import '../deprecated_problems.dart' show deprecated_internalProblem; 27 import '../dill/dill_member_builder.dart' show DillMemberBuilder;
31 28
32 import '../fasta_codes.dart' show templateRedirectionTargetNotFound; 29 import '../fasta_codes.dart' show templateRedirectionTargetNotFound;
33 30
34 import '../dill/dill_member_builder.dart' show DillMemberBuilder; 31 import '../problems.dart' show unhandled, unimplemented;
35 32
36 import 'kernel_builder.dart' 33 import 'kernel_builder.dart'
37 show 34 show
38 Builder, 35 Builder,
39 ClassBuilder, 36 ClassBuilder,
40 ConstructorReferenceBuilder, 37 ConstructorReferenceBuilder,
41 KernelLibraryBuilder, 38 KernelLibraryBuilder,
42 KernelProcedureBuilder, 39 KernelProcedureBuilder,
43 KernelTypeBuilder, 40 KernelTypeBuilder,
44 LibraryBuilder, 41 LibraryBuilder,
45 MemberBuilder, 42 MemberBuilder,
46 MetadataBuilder, 43 MetadataBuilder,
47 ProcedureBuilder, 44 ProcedureBuilder,
48 Scope, 45 Scope,
49 TypeVariableBuilder, 46 TypeVariableBuilder,
50 computeDefaultTypeArguments; 47 computeDefaultTypeArguments;
51 48
49 import 'kernel_shadow_ast.dart' show KernelMember;
50
52 import 'redirecting_factory_body.dart' show RedirectingFactoryBody; 51 import 'redirecting_factory_body.dart' show RedirectingFactoryBody;
53 52
54 abstract class KernelClassBuilder 53 abstract class KernelClassBuilder
55 extends ClassBuilder<KernelTypeBuilder, InterfaceType> { 54 extends ClassBuilder<KernelTypeBuilder, InterfaceType> {
56 KernelClassBuilder( 55 KernelClassBuilder(
57 List<MetadataBuilder> metadata, 56 List<MetadataBuilder> metadata,
58 int modifiers, 57 int modifiers,
59 String name, 58 String name,
60 List<TypeVariableBuilder> typeVariables, 59 List<TypeVariableBuilder> typeVariables,
61 KernelTypeBuilder supertype, 60 KernelTypeBuilder supertype,
(...skipping 15 matching lines...) Expand all
77 assert(arguments == null || cls.typeParameters.length == arguments.length); 76 assert(arguments == null || cls.typeParameters.length == arguments.length);
78 return arguments == null ? cls.rawType : new InterfaceType(cls, arguments); 77 return arguments == null ? cls.rawType : new InterfaceType(cls, arguments);
79 } 78 }
80 79
81 List<DartType> buildTypeArguments( 80 List<DartType> buildTypeArguments(
82 LibraryBuilder library, List<KernelTypeBuilder> arguments) { 81 LibraryBuilder library, List<KernelTypeBuilder> arguments) {
83 List<DartType> typeArguments = <DartType>[]; 82 List<DartType> typeArguments = <DartType>[];
84 for (KernelTypeBuilder builder in arguments) { 83 for (KernelTypeBuilder builder in arguments) {
85 DartType type = builder.build(library); 84 DartType type = builder.build(library);
86 if (type == null) { 85 if (type == null) {
87 deprecated_internalProblem("Bad type: ${builder.runtimeType}"); 86 unhandled("${builder.runtimeType}", "buildTypeArguments", -1, null);
88 } 87 }
89 typeArguments.add(type); 88 typeArguments.add(type);
90 } 89 }
91 return computeDefaultTypeArguments( 90 return computeDefaultTypeArguments(
92 library, cls.typeParameters, typeArguments); 91 library, cls.typeParameters, typeArguments);
93 } 92 }
94 93
95 InterfaceType buildType( 94 InterfaceType buildType(
96 LibraryBuilder library, List<KernelTypeBuilder> arguments) { 95 LibraryBuilder library, List<KernelTypeBuilder> arguments) {
97 List<DartType> typeArguments; 96 List<DartType> typeArguments;
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 } 182 }
184 183
185 void checkOverrides(ClassHierarchy hierarchy) { 184 void checkOverrides(ClassHierarchy hierarchy) {
186 hierarchy.forEachOverridePair(cls, checkOverride); 185 hierarchy.forEachOverridePair(cls, checkOverride);
187 hierarchy.forEachCrossOverridePair(cls, handleCrossOverride); 186 hierarchy.forEachCrossOverridePair(cls, handleCrossOverride);
188 } 187 }
189 188
190 void checkOverride( 189 void checkOverride(
191 Member declaredMember, Member interfaceMember, bool isSetter) { 190 Member declaredMember, Member interfaceMember, bool isSetter) {
192 if (declaredMember is Constructor || interfaceMember is Constructor) { 191 if (declaredMember is Constructor || interfaceMember is Constructor) {
193 deprecated_internalProblem( 192 unimplemented(
194 "Constructor in override check.", fileUri, declaredMember.fileOffset); 193 "Constructor in override check.", declaredMember.fileOffset, fileUri);
195 } 194 }
196 if (declaredMember is Procedure && interfaceMember is Procedure) { 195 if (declaredMember is Procedure && interfaceMember is Procedure) {
197 if (declaredMember.kind == ProcedureKind.Method && 196 if (declaredMember.kind == ProcedureKind.Method &&
198 interfaceMember.kind == ProcedureKind.Method) { 197 interfaceMember.kind == ProcedureKind.Method) {
199 checkMethodOverride(declaredMember, interfaceMember); 198 checkMethodOverride(declaredMember, interfaceMember);
200 } 199 }
201 } 200 }
202 // TODO(ahe): Handle other cases: accessors, operators, and fields. 201 // TODO(ahe): Handle other cases: accessors, operators, and fields.
203 202
204 // Also record any cases where a field or getter/setter overrides something 203 // Also record any cases where a field or getter/setter overrides something
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
295 } 294 }
296 } 295 }
297 } 296 }
298 297
299 String get fullNameForErrors { 298 String get fullNameForErrors {
300 return isMixinApplication 299 return isMixinApplication
301 ? "${supertype.fullNameForErrors} with ${mixedInType.fullNameForErrors}" 300 ? "${supertype.fullNameForErrors} with ${mixedInType.fullNameForErrors}"
302 : name; 301 : name;
303 } 302 }
304 } 303 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698