<commit_before>/*
 * Created on Feb 21, 2006
 */
package org.python.pydev.core;

import java.util.List;

public interface IInterpreterInfo {
    
    /**
     * @return a String such as 2.5 or 2.4 representing the python version that created this interpreter. 
     */
    public String getVersion();
    
    /**
     * @return a constant as defined in IGrammarVersionProvider.
     */
    public int getGrammarVersion();
    
    /**
     * @return a list of strings representing the pythonpath for this interpreter info.
     */
    public List<String> getPythonPath();


    public IModulesManager getModulesManager();

    /**
     * @return a valid path for the interpreter (may not be human readable)
     */
    public String getExeAsFileSystemValidPath();
    
    /**
     * @return the environment variables that should be set when running this interpreter.
     * It can be null if the default environment should be used.
     */
    public String[] getEnvVariables();

    /**
     * This method receives the environment variables available for a run and updates them with the environment
     * variables that are contained in this interpreter.
     * 
     * Note that if a key already exists in the passed env and in the env contained for this interpreter, it's overridden.
     */
    public String[] updateEnv(String[] env);

    /**
     * Creates a copy of the current interpreter info (shares no variables with the original interpreter info). 
     */
    IInterpreterInfo makeCopy();

    public String getExecutableOrJar();
}<commit_msg>Using the environment variables configured in the interpreter in the needed runs.<commit_after>/*
 * Created on Feb 21, 2006
 */
package org.python.pydev.core;

import java.util.List;
import java.util.Set;

public interface IInterpreterInfo {
    
    /**
     * @return a String such as 2.5 or 2.4 representing the python version that created this interpreter. 
     */
    public String getVersion();
    
    /**
     * @return a constant as defined in IGrammarVersionProvider.
     */
    public int getGrammarVersion();
    
    /**
     * @return a list of strings representing the pythonpath for this interpreter info.
     */
    public List<String> getPythonPath();


    public IModulesManager getModulesManager();

    /**
     * @return a valid path for the interpreter (may not be human readable)
     */
    public String getExeAsFileSystemValidPath();
    
    /**
     * @return the environment variables that should be set when running this interpreter.
     * It can be null if the default environment should be used.
     */
    public String[] getEnvVariables();
    
    /**
     * This method receives the environment variables available for a run and updates them with the environment
     * variables that are contained in this interpreter.
     * 
     * Note that if a key already exists in the passed env and in the env contained for this interpreter, it's overridden
     * unless it's specified in keysThatShouldNotBeUpdated (which may be null). 
     */
    public String[] updateEnv(String[] env, Set<String> keysThatShouldNotBeUpdated);

    /**
     * Same as updateEnv(env, null)
     */
    public String[] updateEnv(String[] env);

    /**
     * Creates a copy of the current interpreter info (shares no variables with the original interpreter info). 
     */
    IInterpreterInfo makeCopy();

    public String getExecutableOrJar();
}
{'fraction_non_alphanumeric': 0.0777972027972028, 'fraction_numerical': 0.005827505827505828, 'mean_word_length': 2.8017718715393136, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 6, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4233003', 'n_tokens_mistral': 913, 'n_tokens_neox': 856, 'n_words': 372}