// Copyright (c) 2020, 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. import "dart:io"; import "detect_nullsafety_helper.dart"; void main() { // Create temporary directory. var tmpDir = Directory.systemTemp.createTempSync(); var tmpDirPath = tmpDir.path; String sourcePath = "$tmpDirPath/strong.dart"; String dillPath = "$tmpDirPath/strong.dill"; String jitPath = "$tmpDirPath/strong.appjit"; // Generate code for an isolate to run in strong mode. generateIsolateSource(sourcePath, ""); generateKernel(sourcePath, dillPath); generateAppJIT(sourcePath, jitPath); try { // Running from Source. testNullSafetyMode(sourcePath, 'Strong Mode'); // Without the enable experiment option it will be in strong mode. testNullSafetyMode1(sourcePath, 'Strong Mode'); // Running from Kernel File. testNullSafetyMode(dillPath, 'Strong Mode'); // Without the enable experiment option it will be inferred to strong. testNullSafetyMode1(dillPath, 'Strong Mode'); // Running from app JIT File. testNullSafetyMode(jitPath, 'Strong Mode'); // Without the enable experiment option it will be inferred to strong. testNullSafetyMode1(jitPath, 'Strong Mode'); } finally { tmpDir.deleteSync(recursive: true); } }