| 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' show | 7 import 'package:kernel/ast.dart' show |
| 8 Constructor, | 8 Constructor, |
| 9 Field, | 9 Field, |
| 10 Member, | 10 Member, |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 final Member member; | 31 final Member member; |
| 32 | 32 |
| 33 final Builder parent; | 33 final Builder parent; |
| 34 | 34 |
| 35 DillMemberBuilder(Member member, this.parent) | 35 DillMemberBuilder(Member member, this.parent) |
| 36 : modifiers = computeModifiers(member), | 36 : modifiers = computeModifiers(member), |
| 37 member = member; | 37 member = member; |
| 38 | 38 |
| 39 Member get target => member; | 39 Member get target => member; |
| 40 | 40 |
| 41 String get name => member.name.name; |
| 42 |
| 41 bool get isConstructor => member is Constructor; | 43 bool get isConstructor => member is Constructor; |
| 42 | 44 |
| 43 bool get isFactory { | 45 bool get isFactory { |
| 44 if (member is Procedure) { | 46 if (member is Procedure) { |
| 45 Procedure procedure = member; | 47 Procedure procedure = member; |
| 46 return procedure.kind == ProcedureKind.Factory; | 48 return procedure.kind == ProcedureKind.Factory; |
| 47 } else { | 49 } else { |
| 48 return false; | 50 return false; |
| 49 } | 51 } |
| 50 } | 52 } |
| 51 } | 53 } |
| 52 | 54 |
| 53 int computeModifiers(Member member) { | 55 int computeModifiers(Member member) { |
| 54 int modifier = member.isAbstract ? abstractMask : 0; | 56 int modifier = member.isAbstract ? abstractMask : 0; |
| 55 modifier |= member.isExternal ? externalMask : 0; | 57 modifier |= member.isExternal ? externalMask : 0; |
| 56 if (member is Field) { | 58 if (member is Field) { |
| 57 modifier |= member.isConst ? constMask : 0; | 59 modifier |= member.isConst ? constMask : 0; |
| 58 modifier |= member.isFinal ? finalMask : 0; | 60 modifier |= member.isFinal ? finalMask : 0; |
| 59 modifier |= member.isStatic ? staticMask : 0; | 61 modifier |= member.isStatic ? staticMask : 0; |
| 60 } else if (member is Procedure) { | 62 } else if (member is Procedure) { |
| 61 modifier |= member.isConst ? constMask : 0; | 63 modifier |= member.isConst ? constMask : 0; |
| 62 modifier |= member.isStatic ? staticMask : 0; | 64 modifier |= member.isStatic ? staticMask : 0; |
| 63 } else if (member is Constructor) { | 65 } else if (member is Constructor) { |
| 64 modifier |= member.isConst ? constMask : 0; | 66 modifier |= member.isConst ? constMask : 0; |
| 65 } else { | 67 } else { |
| 66 internalError("Unhandled: ${member.runtimeType}"); | 68 internalError("Unhandled: ${member.runtimeType}"); |
| 67 } | 69 } |
| 68 return modifier; | 70 return modifier; |
| 69 } | 71 } |
| OLD | NEW |