// 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 kernel.transformations.fixvm; import '../ast.dart'; /// Ensures that classes all have either a constructor or a procedure. /// /// VM-specific constraints that don't fit in anywhere else can be put here. class SanitizeForVM { void transform(Component component) { for (var library in component.libraries) { for (var class_ in library.classes) { if (class_.constructors.isEmpty && class_.procedures.isEmpty) { class_.addMember(new Constructor( new FunctionNode(new EmptyStatement()), name: new Name(''), isSynthetic: true)); } } } } }