blob: 41c589655711fa460d2fd6bdf7e32e9a47d27af1 [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. Because FFI is special we can't expect to only
# compile the changed files.
type: newworld
worlds:
- entry: main.dart
experiments: alternative-invalidation-strategy
sources:
main.dart: |
// @dart=2.9
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: |
// @dart=2.9
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: |
// @dart=2.9
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: |
// @dart=2.9
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: false