001    /*
002     * Copyright 2010-2016 JetBrains s.r.o.
003     *
004     * Licensed under the Apache License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     *
008     * http://www.apache.org/licenses/LICENSE-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    
017    package org.jetbrains.kotlin.config;
018    
019    import org.jetbrains.kotlin.incremental.components.SourceRetentionAnnotationHandler;
020    import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents;
021    import org.jetbrains.kotlin.modules.Module;
022    import org.jetbrains.kotlin.script.KotlinScriptDefinition;
023    
024    import java.util.List;
025    
026    public class JVMConfigurationKeys {
027        private JVMConfigurationKeys() {
028        }
029    
030        // roots, including dependencies and own source
031        public static final CompilerConfigurationKey<List<ContentRoot>> CONTENT_ROOTS =
032                CompilerConfigurationKey.create("content roots");
033    
034        public static final CompilerConfigurationKey<List<KotlinScriptDefinition>> SCRIPT_DEFINITIONS =
035                CompilerConfigurationKey.create("script definitions");
036    
037        public static final CompilerConfigurationKey<Boolean> DISABLE_CALL_ASSERTIONS =
038                CompilerConfigurationKey.create("disable not-null call assertions");
039        public static final CompilerConfigurationKey<Boolean> DISABLE_PARAM_ASSERTIONS =
040                CompilerConfigurationKey.create("disable not-null parameter assertions");
041        public static final CompilerConfigurationKey<Boolean> DISABLE_INLINE =
042                CompilerConfigurationKey.create("disable inline");
043        public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
044                CompilerConfigurationKey.create("disable optimization");
045        public static final CompilerConfigurationKey<Boolean> INHERIT_MULTIFILE_PARTS =
046                CompilerConfigurationKey.create("compile multifile classes to a hierarchy of parts and facade");
047        public static final CompilerConfigurationKey<Boolean> SKIP_RUNTIME_VERSION_CHECK =
048                CompilerConfigurationKey.create("do not perform checks on runtime versions consistency");
049    
050        public static final CompilerConfigurationKey<JvmTarget> JVM_TARGET =
051                CompilerConfigurationKey.create("JVM bytecode target version");
052    
053        public static final CompilerConfigurationKey<IncrementalCompilationComponents> INCREMENTAL_COMPILATION_COMPONENTS =
054                CompilerConfigurationKey.create("incremental cache provider");
055    
056        public static final CompilerConfigurationKey<SourceRetentionAnnotationHandler> SOURCE_RETENTION_ANNOTATION_HANDLER =
057                CompilerConfigurationKey.create("source retention annotation handler");
058    
059        public static final CompilerConfigurationKey<String> MODULE_XML_FILE_PATH =
060                CompilerConfigurationKey.create("path to module.xml");
061    
062        public static final CompilerConfigurationKey<String> DECLARATIONS_JSON_PATH =
063                CompilerConfigurationKey.create("path to declarations output");
064    
065        public static final CompilerConfigurationKey<List<Module>> MODULES =
066                CompilerConfigurationKey.create("module data");
067    
068        public static final CompilerConfigurationKey<String> MODULE_NAME =
069                CompilerConfigurationKey.create("module name");
070    }