b29a6e48fb
- Introduce new language feature 'ReadDeserializedContracts', which allows to deserialize contracts from metadata. - Introduce new language feature 'AllowContractsForCustomFunctions', which allows reading contracts from sources. - Use new features instead of combination 'CallsInPlaceEffect || ReturnsEffect' - Rename 'CallsInPlaceEffect' -> 'UseCallsInPlaceEffect', 'ReturnsEffect' -> 'UseReturnsEffect'. As names suggest, they control if it is allowed to use corresponding effect in analysis. We have to introduce separate 'ReadDeserializedContracts' to enable contracts only in some modules of the project, because libraries are read with project-wide settings (see KT-20692).
63 lines
4.8 KiB
Plaintext
Vendored
63 lines
4.8 KiB
Plaintext
Vendored
Usage: kotlinc-jvm <options> <source files>
|
|
where advanced options include:
|
|
-Xadd-compiler-builtins Add definitions of built-in declarations to the compilation classpath (useful with -no-stdlib)
|
|
-Xadd-modules=<module[,]> Root modules to resolve in addition to the initial modules,
|
|
or all modules on the module path if <module> is ALL-MODULE-PATH
|
|
-Xbuild-file=<path> Path to the .xml build file to compile
|
|
-Xcompile-java Reuse javac analysis and compile Java source files
|
|
-Xnormalize-constructor-calls={disable|enable}
|
|
Normalize constructor calls (disable: don't normalize; enable: normalize), default is disable
|
|
-Xdump-declarations-to=<path> Path to JSON file to dump Java to Kotlin declaration mappings
|
|
-Xmultifile-parts-inherit Compile multifile classes as a hierarchy of parts and facade
|
|
-Xmodule-path=<path> Paths where to find Java 9+ modules
|
|
-Xjavac-arguments=<option[,]> Java compiler arguments
|
|
-Xjsr305={ignore/strict/warn}|under-migration:{ignore/strict/warn}|@<fq.name>:{ignore/strict/warn}
|
|
Specify behavior for JSR-305 nullability annotations:
|
|
-Xjsr305={ignore/strict/warn} globally (all non-@UnderMigration annotations)
|
|
-Xjsr305=under-migration:{ignore/strict/warn} all @UnderMigration annotations
|
|
-Xjsr305=@<fq.name>:{ignore/strict/warn} annotation with the given fully qualified class name
|
|
Modes:
|
|
* ignore
|
|
* strict (experimental; treat as other supported nullability annotations)
|
|
* warn (report a warning)
|
|
-Xload-builtins-from-dependencies
|
|
Load definitions of built-in declarations from module dependencies, instead of from the compiler
|
|
-Xno-call-assertions Don't generate not-null assertions for arguments of platform types
|
|
-Xno-exception-on-explicit-equals-for-boxed-null
|
|
Do not throw NPE on explicit 'equals' call for null receiver of platform boxed primitive type
|
|
-Xno-optimize Disable optimizations
|
|
-Xno-param-assertions Don't generate not-null assertions on parameters of methods accessible from Java
|
|
-Xno-receiver-assertions Don't generate not-null assertion for extension receiver arguments of platform types
|
|
-Xreport-perf Report detailed performance statistics
|
|
-Xscript-resolver-environment=<key=value[,]>
|
|
Script resolver environment in key-value pairs (the value could be quoted and escaped)
|
|
-Xsingle-module Combine modules for source files and binary dependencies into a single module
|
|
-Xskip-runtime-version-check Allow Kotlin runtime libraries of incompatible versions in the classpath
|
|
-Xstrict-java-nullability-assertions
|
|
Generate nullability assertions for non-null Java expressions
|
|
-Xsupport-compatqual-checker-framework-annotations=enable|disable
|
|
|
|
Specify behavior for Checker Framework compatqual annotations (NullableDecl/NonNullDecl).
|
|
Default value is 'enable'
|
|
|
|
-Xuse-javac Use javac for Java source and class files analysis
|
|
-Xuse-old-class-files-reading Use old class files reading implementation (may slow down the build and should be used in case of problems with the new implementation)
|
|
-Xallow-kotlin-package Allow compiling code in package 'kotlin' and allow not requiring kotlin.stdlib in module-info
|
|
-Xcoroutines={enable|warn|error}
|
|
Enable coroutines or report warnings or errors on declarations and use sites of 'suspend' modifier
|
|
-Xeffect-system Enable experimental language feature: effect system
|
|
-Xintellij-plugin-root=<path> Path to the kotlin-compiler.jar or directory where IntelliJ configuration files can be found
|
|
-Xlegacy-smart-cast-after-try Allow var smart casts despite assignment in try block
|
|
-Xmulti-platform Enable experimental language support for multi-platform projects
|
|
-Xnew-inference Enable new experimental generic type inference algorithm
|
|
-Xno-check-actual Do not check presence of 'actual' modifier in multi-platform projects
|
|
-Xno-inline Disable method inlining
|
|
-Xplugin=<path> Load plugins from the given classpath
|
|
-Xread-deserialized-contracts Enable reading of contracts from metadata
|
|
-Xrepeat=<count> Repeat compilation (for performance analysis)
|
|
-Xreport-output-files Report source to output files mapping
|
|
-Xskip-metadata-version-check Load classes with bad metadata version anyway (incl. pre-release classes)
|
|
|
|
Advanced options are non-standard and may be changed or removed without any notice.
|
|
OK
|