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

Side by Side Diff: pkg/front_end/lib/src/fasta/dill/dill_member_builder.dart

Issue 2800083002: Complain about incorrect this/super constructor initializers. (Closed)
Patch Set: Address comments. Created 3 years, 8 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.dill_member_builder; 5 library fasta.dill_member_builder;
6 6
7 import 'package:kernel/ast.dart' 7 import 'package:kernel/ast.dart'
8 show Constructor, Field, Member, Procedure, ProcedureKind; 8 show Constructor, Field, Member, Procedure, ProcedureKind;
9 9
10 import '../errors.dart' show internalError; 10 import '../errors.dart' show internalError;
11 11
12 import '../kernel/kernel_builder.dart' show Builder, MemberBuilder; 12 import '../kernel/kernel_builder.dart'
13 show
14 Builder,
15 MemberBuilder,
16 isRedirectingGenerativeConstructorImplementation;
13 17
14 import '../modifier.dart' 18 import '../modifier.dart'
15 show abstractMask, constMask, externalMask, finalMask, staticMask; 19 show abstractMask, constMask, externalMask, finalMask, staticMask;
16 20
17 class DillMemberBuilder extends MemberBuilder { 21 class DillMemberBuilder extends MemberBuilder {
18 final int modifiers; 22 final int modifiers;
19 23
20 final Member member; 24 final Member member;
21 25
22 DillMemberBuilder(Member member, Builder parent) 26 DillMemberBuilder(Member member, Builder parent)
(...skipping 14 matching lines...) Expand all
37 41
38 bool get isRegularMethod => identical(ProcedureKind.Method, kind); 42 bool get isRegularMethod => identical(ProcedureKind.Method, kind);
39 43
40 bool get isGetter => identical(ProcedureKind.Getter, kind); 44 bool get isGetter => identical(ProcedureKind.Getter, kind);
41 45
42 bool get isSetter => identical(ProcedureKind.Setter, kind); 46 bool get isSetter => identical(ProcedureKind.Setter, kind);
43 47
44 bool get isOperator => identical(ProcedureKind.Operator, kind); 48 bool get isOperator => identical(ProcedureKind.Operator, kind);
45 49
46 bool get isFactory => identical(ProcedureKind.Factory, kind); 50 bool get isFactory => identical(ProcedureKind.Factory, kind);
51
52 bool get isRedirectingGenerativeConstructor {
53 return isConstructor &&
54 isRedirectingGenerativeConstructorImplementation(member);
55 }
47 } 56 }
48 57
49 int computeModifiers(Member member) { 58 int computeModifiers(Member member) {
50 int modifier = member.isAbstract ? abstractMask : 0; 59 int modifier = member.isAbstract ? abstractMask : 0;
51 modifier |= member.isExternal ? externalMask : 0; 60 modifier |= member.isExternal ? externalMask : 0;
52 if (member is Field) { 61 if (member is Field) {
53 modifier |= member.isConst ? constMask : 0; 62 modifier |= member.isConst ? constMask : 0;
54 modifier |= member.isFinal ? finalMask : 0; 63 modifier |= member.isFinal ? finalMask : 0;
55 modifier |= member.isStatic ? staticMask : 0; 64 modifier |= member.isStatic ? staticMask : 0;
56 } else if (member is Procedure) { 65 } else if (member is Procedure) {
57 modifier |= member.isConst ? constMask : 0; 66 modifier |= member.isConst ? constMask : 0;
58 modifier |= member.isStatic ? staticMask : 0; 67 modifier |= member.isStatic ? staticMask : 0;
59 } else if (member is Constructor) { 68 } else if (member is Constructor) {
60 modifier |= member.isConst ? constMask : 0; 69 modifier |= member.isConst ? constMask : 0;
61 } else { 70 } else {
62 internalError("Unhandled: ${member.runtimeType}"); 71 internalError("Unhandled: ${member.runtimeType}");
63 } 72 }
64 return modifier; 73 return modifier;
65 } 74 }
OLDNEW
« no previous file with comments | « pkg/front_end/lib/src/fasta/builder/member_builder.dart ('k') | pkg/front_end/lib/src/fasta/kernel/body_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698