/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.python.pydev.analysis.builder;
import org.python.pydev.core.concurrency.IRunnableWithMonitor;
public interface IAnalysisBuilderRunnable extends IRunnableWithMonitor {
public static final int ANALYSIS_CAUSE_BUILDER = 1;
public static final int ANALYSIS_CAUSE_PARSER = 2;
public static final int FULL_MODULE = 1;
public static final int DEFINITIONS_MODULE = 2;
/**
* ANALYSIS_CAUSE_BUILDER
* ANALYSIS_CAUSE_PARSER
*/
int getAnalysisCause();
/**
* Forces the current analysis to stop
*/
void stopAnalysis();
/**
* @return whether the analysis should be forced.
*
* It's used to check if the only the context insensitive information should be done (and the actual analysis
* is not needed).
*
* boolean onlyRecreateCtxInsensitiveInfo = !forceAnalysis &&
* analysisCause == ANALYSIS_CAUSE_BUILDER &&
* PyDevBuilderPrefPage.getAnalyzeOnlyActiveEditor();
*/
boolean getForceAnalysis();
boolean getRunFinished();
String getModuleName();
String getAnalysisCauseStr();
long getDocumentTime();
long getResourceModificationStamp();
}