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.cli.jvm.config;
018    
019    import org.jetbrains.kotlin.cli.jvm.compiler.CompilerJarLocator;
020    import org.jetbrains.kotlin.config.CompilerConfigurationKey;
021    import org.jetbrains.kotlin.load.kotlin.incremental.components.IncrementalCompilationComponents;
022    import org.jetbrains.kotlin.modules.Module;
023    
024    import java.util.List;
025    
026    public class JVMConfigurationKeys {
027        private JVMConfigurationKeys() {
028        }
029    
030        public static final CompilerConfigurationKey<Boolean> DISABLE_CALL_ASSERTIONS =
031                CompilerConfigurationKey.create("disable not-null call assertions");
032        public static final CompilerConfigurationKey<Boolean> DISABLE_PARAM_ASSERTIONS =
033                CompilerConfigurationKey.create("disable not-null parameter assertions");
034        public static final CompilerConfigurationKey<Boolean> DISABLE_INLINE =
035                CompilerConfigurationKey.create("disable inline");
036        public static final CompilerConfigurationKey<Boolean> DISABLE_OPTIMIZATION =
037                CompilerConfigurationKey.create("disable optimization");
038        public static final CompilerConfigurationKey<Boolean> MULTIFILE_FACADES_OPEN =
039                CompilerConfigurationKey.create("compile multifile facade classes as open");
040    
041        public static final CompilerConfigurationKey<IncrementalCompilationComponents> INCREMENTAL_COMPILATION_COMPONENTS =
042                CompilerConfigurationKey.create("incremental cache provider");
043    
044        public static final CompilerConfigurationKey<CompilerJarLocator> COMPILER_JAR_LOCATOR =
045                CompilerConfigurationKey.create("Compiler jar locator");
046    
047        public static final CompilerConfigurationKey<String> MODULE_XML_FILE_PATH = CompilerConfigurationKey.create("path to module.xml");
048    
049        public static final CompilerConfigurationKey<List<Module>> MODULES =
050                CompilerConfigurationKey.create("module data");
051    
052        public static final CompilerConfigurationKey<String> MODULE_NAME =
053                CompilerConfigurationKey.create("module name");
054    
055    }