OLD | NEW |
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 '../deprecated_problems.dart' show deprecated_internalProblem; | |
11 | |
12 import '../kernel/kernel_builder.dart' | 10 import '../kernel/kernel_builder.dart' |
13 show | 11 show |
14 Builder, | 12 Builder, |
15 MemberBuilder, | 13 MemberBuilder, |
16 isRedirectingGenerativeConstructorImplementation; | 14 isRedirectingGenerativeConstructorImplementation; |
17 | 15 |
18 import '../modifier.dart' | 16 import '../modifier.dart' |
19 show abstractMask, constMask, externalMask, finalMask, staticMask; | 17 show abstractMask, constMask, externalMask, finalMask, staticMask; |
20 | 18 |
| 19 import '../problems.dart' show unhandled; |
| 20 |
21 class DillMemberBuilder extends MemberBuilder { | 21 class DillMemberBuilder extends MemberBuilder { |
22 final int modifiers; | 22 final int modifiers; |
23 | 23 |
24 final Member member; | 24 final Member member; |
25 | 25 |
26 DillMemberBuilder(Member member, Builder parent) | 26 DillMemberBuilder(Member member, Builder parent) |
27 : modifiers = computeModifiers(member), | 27 : modifiers = computeModifiers(member), |
28 member = member, | 28 member = member, |
29 super(parent, member.fileOffset); | 29 super(parent, member.fileOffset); |
30 | 30 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 if (member is Field) { | 70 if (member is Field) { |
71 modifier |= member.isConst ? constMask : 0; | 71 modifier |= member.isConst ? constMask : 0; |
72 modifier |= member.isFinal ? finalMask : 0; | 72 modifier |= member.isFinal ? finalMask : 0; |
73 modifier |= member.isStatic ? staticMask : 0; | 73 modifier |= member.isStatic ? staticMask : 0; |
74 } else if (member is Procedure) { | 74 } else if (member is Procedure) { |
75 modifier |= member.isConst ? constMask : 0; | 75 modifier |= member.isConst ? constMask : 0; |
76 modifier |= member.isStatic ? staticMask : 0; | 76 modifier |= member.isStatic ? staticMask : 0; |
77 } else if (member is Constructor) { | 77 } else if (member is Constructor) { |
78 modifier |= member.isConst ? constMask : 0; | 78 modifier |= member.isConst ? constMask : 0; |
79 } else { | 79 } else { |
80 deprecated_internalProblem("Unhandled: ${member.runtimeType}"); | 80 dynamic parent = member.parent; |
| 81 unhandled("${member.runtimeType}", "computeModifiers", member.fileOffset, |
| 82 Uri.base.resolve(parent.fileUri)); |
81 } | 83 } |
82 return modifier; | 84 return modifier; |
83 } | 85 } |
OLD | NEW |