| # 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. Do expression computation using a (converted to getter) |
| # field in the FFI-struct class. |
| |
| type: newworld |
| worlds: |
| - entry: main.dart |
| sources: |
| main.dart: | |
| import 'lib.dart'; |
| |
| Coordinate coordinate; |
| |
| main() { |
| 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<Coordinate> next; |
| |
| factory Coordinate.allocate(double x, double y, Pointer<Coordinate> next) { |
| return null; |
| } |
| } |
| expectedLibraryCount: 2 |
| expressionCompilation: |
| uri: main.dart |
| expression: print(coordinate.x) |