| Index: pkg/fasta/lib/src/kernel/kernel_field_builder.dart
|
| diff --git a/pkg/fasta/lib/src/kernel/kernel_field_builder.dart b/pkg/fasta/lib/src/kernel/kernel_field_builder.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4433963b2bef8889f2f2feb033e5375d404342a3
|
| --- /dev/null
|
| +++ b/pkg/fasta/lib/src/kernel/kernel_field_builder.dart
|
| @@ -0,0 +1,39 @@
|
| +// Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +library fasta.kernel_field_builder;
|
| +
|
| +import 'package:kernel/ast.dart' show
|
| + DynamicType,
|
| + Expression,
|
| + Field,
|
| + Library,
|
| + Name;
|
| +
|
| +import 'kernel_builder.dart' show
|
| + FieldBuilder,
|
| + KernelTypeBuilder,
|
| + MetadataBuilder;
|
| +
|
| +class KernelFieldBuilder extends FieldBuilder<Expression> {
|
| + Field field;
|
| + final List<MetadataBuilder> metadata;
|
| + final KernelTypeBuilder type;
|
| +
|
| + KernelFieldBuilder(this.metadata, this.type, String name, int modifiers)
|
| + : super(name, modifiers);
|
| +
|
| + void set initializer(Expression value) {
|
| + field.initializer = value
|
| + ..parent = field;
|
| + }
|
| +
|
| + Field build(Library library) {
|
| + return field ??= new Field(new Name(name, library),
|
| + type: type?.build() ?? const DynamicType(),
|
| + isFinal: isFinal, isConst: isConst, isStatic: isStatic || isTopLevel);
|
| + }
|
| +
|
| + Field get target => field;
|
| +}
|
|
|