blob: 3be83dcaa4c02803c9b256baa723a619e0f53e64 [file] [log] [blame]
// Copyright (c) 2018, 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_body_builder;
import 'package:kernel/ast.dart' show Expression;
import '../type_inference/type_inferrer.dart' show TypeInferrer;
import 'body_builder.dart' show BodyBuilder;
import 'fangorn.dart' show Fangorn;
import 'forest.dart' show Forest;
import 'kernel_api.dart' show ClassHierarchy, CoreTypes;
import 'kernel_builder.dart'
show KernelClassBuilder, KernelLibraryBuilder, ModifierBuilder, Scope;
class KernelBodyBuilder extends BodyBuilder {
@override
final Forest forest = const Fangorn();
KernelBodyBuilder(
KernelLibraryBuilder library,
ModifierBuilder member,
Scope scope,
Scope formalParameterScope,
ClassHierarchy hierarchy,
CoreTypes coreTypes,
KernelClassBuilder classBuilder,
bool isInstanceMember,
Uri uri,
TypeInferrer typeInferrer)
: super(library, member, scope, formalParameterScope, hierarchy,
coreTypes, classBuilder, isInstanceMember, uri, typeInferrer);
KernelBodyBuilder.forField(ModifierBuilder member, TypeInferrer typeInferrer)
: super.forField(member, typeInferrer);
@override
void enterThenForTypePromotion(Expression condition) {
typePromoter.enterThen(condition);
}
}