blob: fc67845e1d1fa74a6dc01bded604c314b5c8b5e2 [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 file.
import 'package:_fe_analyzer_shared/src/util/options.dart';
import 'package:front_end/src/api_prototype/compiler_options.dart';
import 'package:kernel/target/targets.dart';
class Flags {
// TODO(johnniwinther): What is the right name for this?
static const String nnbdStrongMode = "--nnbd-strong";
static const String nnbdAgnosticMode = "--nnbd-agnostic";
static const String nnbdWeakMode = "--nnbd-weak";
static const String forceLateLowering = "--force-late-lowering";
static const String forceLateLoweringSentinel =
"--force-late-lowering-sentinel";
static const String forceStaticFieldLowering =
"--force-static-field-lowering";
static const String forceNoExplicitGetterCalls =
"--force-no-explicit-getter-calls";
static const String forceConstructorTearOffLowering =
"--force-constructor-tear-off-lowering";
static const String target = "--target";
static const String linkDependencies = "--link-dependencies";
static const String compileSdk = "--compile-sdk";
static const String dumpIr = "--dump-ir";
static const String enableExperiment = "--enable-experiment";
static const String excludeSource = "--exclude-source";
static const String omitPlatform = "--omit-platform";
static const String fatal = "--fatal";
static const String fatalSkip = "--fatal-skip";
static const String help = "--help";
static const String librariesJson = "--libraries-json";
static const String noDefines = "--no-defines";
static const String noDeps = "--no-deps";
static const String output = "--output";
static const String packages = "--packages";
static const String platform = "--platform";
static const String sdk = "--sdk";
static const String singleRootBase = "--single-root-base";
static const String singleRootScheme = "--single-root-scheme";
static const String verbose = "--verbose";
static const String verbosity = "--verbosity";
static const String verify = "--verify";
static const String skipPlatformVerification = "--skip-platform-verification";
static const String warnOnReachabilityCheck = "--warn-on-reachability-check";
static const String invocationModes = "--invocation-modes";
}
class Options {
static const Option<Uri?> compileSdk =
const Option(Flags.compileSdk, const UriValue());
static const Option<bool> dumpIr =
const Option(Flags.dumpIr, const BoolValue(false));
static const Option<List<String>?> enableExperiment =
const Option(Flags.enableExperiment, const StringListValue());
static const Option<bool> excludeSource =
const Option(Flags.excludeSource, const BoolValue(false));
static const Option<bool> omitPlatform =
const Option(Flags.omitPlatform, const BoolValue(false));
static const Option<List<String>?> fatal =
const Option(Flags.fatal, const StringListValue());
static const Option<String?> fatalSkip =
const Option(Flags.fatalSkip, const StringValue());
static const Option<int> forceLateLowering = const Option(
Flags.forceLateLowering,
const IntValue(
defaultValue: LateLowering.none, noArgValue: LateLowering.all));
static const Option<bool> forceLateLoweringSentinel =
const Option(Flags.forceLateLoweringSentinel, const BoolValue(false));
static const Option<bool> forceStaticFieldLowering =
const Option(Flags.forceStaticFieldLowering, const BoolValue(false));
static const Option<bool> forceNoExplicitGetterCalls =
const Option(Flags.forceNoExplicitGetterCalls, const BoolValue(false));
static const Option<int> forceConstructorTearOffLowering = const Option(
Flags.forceConstructorTearOffLowering,
const IntValue(
defaultValue: ConstructorTearOffLowering.none,
noArgValue: ConstructorTearOffLowering.all));
static const Option<bool> help = const Option(
Flags.help, const BoolValue(false),
aliases: ["-h", "/?", "/h"]);
static const Option<Uri?> librariesJson =
const Option(Flags.librariesJson, const UriValue());
static const Option<bool> noDefines =
const Option(Flags.noDefines, const BoolValue(false));
static const Option<Uri?> output =
const Option(Flags.output, const UriValue(), aliases: ["--out", "-o"]);
static const Option<Uri?> packages =
const Option(Flags.packages, const UriValue());
static const Option<Uri?> platform =
const Option(Flags.platform, const UriValue());
static const Option<Uri?> sdk = const Option(Flags.sdk, const UriValue());
static const Option<Uri?> singleRootBase =
const Option(Flags.singleRootBase, const UriValue());
static const Option<String?> singleRootScheme =
const Option(Flags.singleRootScheme, const StringValue());
static const Option<bool> nnbdWeakMode =
const Option(Flags.nnbdWeakMode, const BoolValue(false));
static const Option<bool> nnbdStrongMode =
const Option(Flags.nnbdStrongMode, const BoolValue(false));
static const Option<bool> nnbdAgnosticMode =
const Option(Flags.nnbdAgnosticMode, const BoolValue(false));
static const Option<String> target = const Option(
Flags.target, const StringValue(defaultValue: 'vm'),
aliases: ["-t"]);
static const Option<bool> verbose =
const Option(Flags.verbose, const BoolValue(false), aliases: ["-v"]);
static const Option<String> verbosity = const Option(
Flags.verbosity, const StringValue(defaultValue: Verbosity.defaultValue));
static const Option<bool> verify =
const Option(Flags.verify, const BoolValue(false));
static const Option<bool> skipPlatformVerification =
const Option(Flags.skipPlatformVerification, const BoolValue(false));
static const Option<bool> warnOnReachabilityCheck =
const Option(Flags.warnOnReachabilityCheck, const BoolValue(false));
static const Option<List<Uri>?> linkDependencies =
const Option(Flags.linkDependencies, const UriListValue());
static const Option<bool> noDeps =
const Option(Flags.noDeps, const BoolValue(false));
static const Option<String?> invocationModes =
const Option(Flags.invocationModes, const StringValue());
static const Option<Map<String, String>> defines = const Option(
"-D", const DefineValue(),
isDefines: true, aliases: ["--define"]);
}