blob: 211fe885655dc0814729f62f962669208be6a284 [file] [log] [blame]
# 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.
# Compile an application, change a file, but don't change the outline.
# Test FFI compilation.
type: newworld
worlds:
- entry: main.dart
experiments: alternative-invalidation-strategy
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<Coordinate> next;
factory Coordinate.allocate(double x, double y, Pointer<Coordinate> next) {
return null;
}
}
expectedLibraryCount: 2
- entry: main.dart
experiments: alternative-invalidation-strategy
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);
print("Done!");
}
expectedLibraryCount: 2
expectsRebuildBodiesOnly: true
- entry: main.dart
experiments: alternative-invalidation-strategy
worldType: updated
expectInitializeFromDill: false
invalidate:
- lib.dart
sources:
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) {
print("hello");
return null;
}
}
expectedLibraryCount: 2
expectsRebuildBodiesOnly: true