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.load.kotlin.incremental.components.IncrementalCompilationComponents;
020    import org.jetbrains.kotlin.modules.Module;
021    import org.jetbrains.kotlin.script.KotlinScriptDefinition;
022    
023    import java.util.List;
024    
025    public class JVMConfigurationKeys {
026        private JVMConfigurationKeys() {
027        }
028    
029        // roots, including dependencies and own source
030        public static final CompilerConfigurationKey<List<ContentRoot>> CONTENT_ROOTS =
031                CompilerConfigurationKey.create("content roots");
032    
033        public static final CompilerConfigurationKey<List<KotlinScriptDefinition>> SCRIPT_DEFINITIONS =
034                CompilerConfigurationKey.create("script definitions");
035    
036        public static final CompilerConfigurationKey<Boolean> DISABLE_CALL_ASSERTIONS =
037                CompilerConfigurationKey.create("disable not-null call assertions");
038        public static final CompilerConfigurationKey<Boolean> DISABLE_PARAM_ASSERTIONS =
039                CompilerConfigurationKey.create("disable not-null parameter assertions");
040        public static final CompilerConfigurationKey<Boolean> DISABLE_INLINE =
041                CompilerConfigurationKey.create("disable inline");
042        public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
043                CompilerConfigurationKey.create("disable optimization");
044        public static final CompilerConfigurationKey<Boolean> INHERIT_MULTIFILE_PARTS =
045                CompilerConfigurationKey.create("compile multifile classes to a hierarchy of parts and facade");
046    
047        public static final CompilerConfigurationKey<JvmTarget> JVM_TARGET =
048                CompilerConfigurationKey.create("JVM bytecode target version");
049    
050        public static final CompilerConfigurationKey<IncrementalCompilationComponents> INCREMENTAL_COMPILATION_COMPONENTS =
051                CompilerConfigurationKey.create("incremental cache provider");
052    
053        public static final CompilerConfigurationKey<String> MODULE_XML_FILE_PATH =
054                CompilerConfigurationKey.create("path to module.xml");
055    
056        public static final CompilerConfigurationKey<String> DECLARATIONS_JSON_PATH =
057                CompilerConfigurationKey.create("path to declarations output");
058    
059        public static final CompilerConfigurationKey<List<Module>> MODULES =
060                CompilerConfigurationKey.create("module data");
061    
062        public static final CompilerConfigurationKey<String> MODULE_NAME =
063                CompilerConfigurationKey.create("module name");
064    }