Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/*
* Copyright 2010-2018 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.cli.common.arguments
import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
import org.jetbrains.kotlin.config.*
class K2JVMCompilerArguments : CommonCompilerArguments() {
companion object {
@JvmStatic
private val serialVersionUID = 0L
}
@Argument(value = "-d", valueDescription = "", description = "Destination for generated class files")
var destination: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(
value = "-classpath",
shortName = "-cp",
valueDescription = "",
description = "List of directories and JAR/ZIP archives to search for user class files"
)
var classpath: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-include-runtime", description = "Include Kotlin runtime into the resulting JAR")
var includeRuntime = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-jdk-home",
valueDescription = "",
description = "Include a custom JDK from the specified location into the classpath instead of the default JAVA_HOME"
)
var jdkHome: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@GradleOption(
value = DefaultValue.BOOLEAN_FALSE_DEFAULT,
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-no-jdk", description = "Don't automatically include the Java runtime into the classpath")
var noJdk = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-no-stdlib",
description = "Don't automatically include the Kotlin/JVM stdlib and Kotlin reflection into the classpath"
)
var noStdlib = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-no-reflect", description = "Don't automatically include Kotlin reflection into the classpath")
var noReflect = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-expression",
shortName = "-e",
description = "Evaluate the given string as a Kotlin script"
)
var expression: String? = null
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-script-templates",
valueDescription = "",
description = "Script definition template classes"
)
var scriptTemplates: Array? = null
set(value) {
checkFrozen()
field = value
}
@GradleOption(
value = DefaultValue.STRING_NULL_DEFAULT,
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-module-name", valueDescription = "", description = "Name of the generated .kotlin_module file")
var moduleName: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@GradleOption(
value = DefaultValue.JVM_TARGET_VERSIONS,
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(
value = "-jvm-target",
valueDescription = "",
description = "Target version of the generated JVM bytecode (${JvmTarget.SUPPORTED_VERSIONS_DESCRIPTION}), default is 1.8",
)
var jvmTarget: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@GradleOption(
value = DefaultValue.BOOLEAN_FALSE_DEFAULT,
gradleInputType = GradleInputTypes.INPUT,
shouldGenerateDeprecatedKotlinOptions = true,
)
@Argument(value = "-java-parameters", description = "Generate metadata for Java 1.8 reflection on method parameters")
var javaParameters = false
set(value) {
checkFrozen()
field = value
}
// Advanced options
@Argument(value = "-Xuse-old-backend", description = "Use the old JVM backend")
var useOldBackend = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xallow-unstable-dependencies",
description = "Do not report errors on classes in dependencies, which were compiled by an unstable version of the Kotlin compiler"
)
var allowUnstableDependencies = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xabi-stability",
valueDescription = "{stable|unstable}",
description = "When using unstable compiler features such as FIR, use 'stable' to mark generated class files as stable\n" +
"to prevent diagnostics from stable compilers at the call site.\n" +
"When using the JVM IR backend, conversely, use 'unstable' to mark generated class files as unstable\n" +
"to force diagnostics to be reported."
)
var abiStability: String? = null
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xir-do-not-clear-binding-context",
description = "When using the IR backend, do not clear BindingContext between psi2ir and lowerings"
)
var doNotClearBindingContext = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xbackend-threads",
valueDescription = "",
description = "When using the IR backend, run lowerings by file in N parallel threads.\n" +
"0 means use a thread per processor core.\n" +
"Default value is 1"
)
var backendThreads: String = "1"
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xmodule-path", valueDescription = "", description = "Paths where to find Java 9+ modules")
var javaModulePath: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(
value = "-Xadd-modules",
valueDescription = "",
description = "Root modules to resolve in addition to the initial modules,\n" +
"or all modules on the module path if is ALL-MODULE-PATH"
)
var additionalJavaModules: Array? = null
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xno-call-assertions", description = "Don't generate not-null assertions for arguments of platform types")
var noCallAssertions = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xno-receiver-assertions",
description = "Don't generate not-null assertion for extension receiver arguments of platform types"
)
var noReceiverAssertions = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xno-param-assertions",
description = "Don't generate not-null assertions on parameters of methods accessible from Java"
)
var noParamAssertions = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xno-optimize", description = "Disable optimizations")
var noOptimize = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xassertions", valueDescription = "{always-enable|always-disable|jvm|legacy}",
description = "Assert calls behaviour\n" +
"-Xassertions=always-enable: enable, ignore jvm assertion settings;\n" +
"-Xassertions=always-disable: disable, ignore jvm assertion settings;\n" +
"-Xassertions=jvm: enable, depend on jvm assertion settings;\n" +
"-Xassertions=legacy: calculate condition on each call, check depends on jvm assertion settings in the kotlin package;\n" +
"default: legacy"
)
var assertionsMode: String? = JVMAssertionsMode.DEFAULT.description
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) JVMAssertionsMode.DEFAULT.description else value
}
@Argument(
value = "-Xbuild-file",
deprecatedName = "-module",
valueDescription = "",
description = "Path to the .xml build file to compile"
)
var buildFile: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(value = "-Xmultifile-parts-inherit", description = "Compile multifile classes as a hierarchy of parts and facade")
var inheritMultifileParts = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xuse-type-table", description = "Use type table in metadata serialization")
var useTypeTable = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xuse-old-class-files-reading",
description = "Use old class files reading implementation. This may slow down the build and cause problems with Groovy interop.\n" +
"Should be used in case of problems with the new implementation"
)
var useOldClassFilesReading = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xuse-fast-jar-file-system",
description = "Use fast implementation on Jar FS. This may speed up compilation time, but currently it's an experimental mode"
)
var useFastJarFileSystem = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xdump-declarations-to",
valueDescription = "",
description = "Path to JSON file to dump Java to Kotlin declaration mappings"
)
var declarationsOutputPath: String? = null
set(value) {
checkFrozen()
field = if (value.isNullOrEmpty()) null else value
}
@Argument(
value = "-Xsuppress-missing-builtins-error",
description = "Suppress the \"cannot access built-in declaration\" error (useful with -no-stdlib)"
)
var suppressMissingBuiltinsError = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xscript-resolver-environment",
valueDescription = "",
description = "Script resolver environment in key-value pairs (the value could be quoted and escaped)"
)
var scriptResolverEnvironment: Array? = null
set(value) {
checkFrozen()
field = value
}
// Javac options
@Argument(value = "-Xuse-javac", description = "Use javac for Java source and class files analysis")
var useJavac = false
set(value) {
checkFrozen()
field = value
}
@Argument(value = "-Xcompile-java", description = "Reuse javac analysis and compile Java source files")
var compileJava = false
set(value) {
checkFrozen()
field = value
}
@Argument(
value = "-Xjavac-arguments",
valueDescription = "