| // Copyright (c) 2022, 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 'package:dart2wasm/translator.dart'; |
| |
| class CompilerOptions { |
| final TranslatorOptions translatorOptions = TranslatorOptions(); |
| |
| Uri sdkPath = Platform.script.resolve("../../../sdk"); |
| Uri? platformPath; |
| Uri? librariesSpecPath; |
| Uri? packagesPath; |
| Uri mainUri; |
| String outputFile; |
| Map<String, String> environment = const {}; |
| |
| factory CompilerOptions.defaultOptions() => |
| CompilerOptions(mainUri: Uri(), outputFile: ''); |
| |
| CompilerOptions({required this.mainUri, required this.outputFile}); |
| |
| void validate() { |
| if (translatorOptions.importSharedMemory && |
| translatorOptions.sharedMemoryMaxPages == null) { |
| throw ArgumentError("--shared-memory-max-pages must be specified if " |
| "--import-shared-memory is used."); |
| } |
| } |
| } |