# Copyright (c) 2019, 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.md file. # Test FFI compilation. type: newworld worlds: - entry: main.dart sources: main.dart: | import 'lib.dart'; main() { Coordinate coordinate = new Coordinate.allocate(42.0, 42.0, null); print(coordinate.x); print(coordinate.y); print(coordinate.next); } lib.dart: | import 'dart:ffi'; class Coordinate extends Struct { @Double() double x; @Double() double y; Pointer next; factory Coordinate.allocate(double x, double y, Pointer next) { return null; } } expectedLibraryCount: 2 - entry: main.dart worldType: updated expectInitializeFromDill: false invalidate: - main.dart sources: main.dart: | import 'lib.dart'; main() { Coordinate coordinate = new Coordinate.allocate(42.0, 42.0, null); print(coordinate.x); print(coordinate.y); print(coordinate.next); done(); } done() { print("Done!"); } expectedLibraryCount: 2