blob: d70bc8fd1daa7f7f7dea3f7b1ce5697567d8dd86 [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:kernel/target/targets.dart';
import '../api_prototype/compiler_options.dart';
class Flags {
// TODO(johnniwinther): What is the right name for this?
static const String nnbdStrongMode = "--nnbd-strong";
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 enableUnscheduledExperiments =
"--enable-unscheduled-experiments";
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 showOffsets = "--show-offsets";
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<bool> showOffsets = const Option(
Flags.showOffsets,
const BoolValue(false),
);
static const Option<List<String>?> enableExperiment = const Option(
Flags.enableExperiment,
const StringListValue(),
);
static const Option<bool> enableUnscheduledExperiments = const Option(
Flags.enableUnscheduledExperiments,
const BoolValue(false),
);
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: null, noArgValue: LateLowering.all),
);
static const Option<bool?> forceLateLoweringSentinel = const Option(
Flags.forceLateLoweringSentinel,
const BoolValue(null),
);
static const Option<bool?> forceStaticFieldLowering = const Option(
Flags.forceStaticFieldLowering,
const BoolValue(null),
);
static const Option<bool?> forceNoExplicitGetterCalls = const Option(
Flags.forceNoExplicitGetterCalls,
const BoolValue(null),
);
static const Option<int?> forceConstructorTearOffLowering = const Option(
Flags.forceConstructorTearOffLowering,
const IntValue(
defaultValue: null,
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<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<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"],
);
}