/** * Copyright (c) 2005-2012 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. */ /* * Created on 24/07/2005 */ package com.python.pydev.analysis; import java.util.Set; public interface IAnalysisPreferences { public static final int TYPE_UNUSED_IMPORT = 1; public static final int TYPE_UNUSED_VARIABLE = 2; public static final int TYPE_UNDEFINED_VARIABLE = 3; public static final int TYPE_DUPLICATED_SIGNATURE = 4; public static final int TYPE_REIMPORT = 5; public static final int TYPE_UNRESOLVED_IMPORT = 6; public static final int TYPE_NO_SELF = 7; public static final int TYPE_UNUSED_WILD_IMPORT = 8; public static final int TYPE_UNDEFINED_IMPORT_VARIABLE = 9; public static final int TYPE_UNUSED_PARAMETER = 10; public static final int TYPE_NO_EFFECT_STMT = 11; public static final int TYPE_INDENTATION_PROBLEM = 12; public static final int TYPE_UNDEFINED_VARIABLE_IN_SELF = 13; //Generated on demand by the tdd actions public static final int TYPE_ASSIGNMENT_TO_BUILT_IN_SYMBOL = 14; public static final int TYPE_PEP8 = 15; public static final int TYPE_ARGUMENTS_MISATCH = 16; public static final String MSG_TO_IGNORE_TYPE_UNUSED_IMPORT = "@UnusedImport"; public static final String MSG_TO_IGNORE_TYPE_UNUSED_WILD_IMPORT = "@UnusedWildImport"; public static final String MSG_TO_IGNORE_TYPE_UNUSED_VARIABLE = "@UnusedVariable"; public static final String MSG_TO_IGNORE_TYPE_UNDEFINED_VARIABLE = "@UndefinedVariable"; public static final String MSG_TO_IGNORE_TYPE_DUPLICATED_SIGNATURE = "@DuplicatedSignature"; public static final String MSG_TO_IGNORE_TYPE_REIMPORT = "@Reimport"; public static final String MSG_TO_IGNORE_TYPE_UNRESOLVED_IMPORT = "@UnresolvedImport"; public static final String MSG_TO_IGNORE_TYPE_NO_SELF = "@NoSelf"; public static final String MSG_TO_IGNORE_TYPE_UNDEFINED_IMPORT_VARIABLE = "@UndefinedVariable"; public static final String MSG_TO_IGNORE_TYPE_UNUSED_PARAMETER = "@UnusedVariable"; public static final String MSG_TO_IGNORE_TYPE_NO_EFFECT_STMT = "@NoEffect"; public static final String MSG_TO_IGNORE_TYPE_INDENTATION_PROBLEM = "@IndentOk"; public static final String MSG_TO_IGNORE_TYPE_ASSIGNMENT_TO_BUILT_IN_SYMBOL = "@ReservedAssignment"; public static final String MSG_TO_IGNORE_TYPE_PEP8 = "@IgnorePep8"; public static final String MSG_TO_IGNORE_TYPE_ARGUMENTS_MISATCH = "@ArgumentMismatch"; /** * Used to define if the analysis should happen only on save */ public static final int ANALYZE_ON_SAVE = 1; /** * Used to define if the analysis should happen on any successful parse */ public static final int ANALYZE_ON_SUCCESFUL_PARSE = 2; /** * @see #ANALYZE_ON_SAVE * @see #ANALYZE_ON_SUCCESFUL_PARSE * * @return the even that should trigger the analysis */ int getWhenAnalyze(); /** * @see org.eclipse.core.resources.IMarker#SEVERITY_ERROR * @see org.eclipse.core.resources.IMarker#SEVERITY_WARNING * @see org.eclipse.core.resources.IMarker#SEVERITY_INFO * * @return this message severity. */ int getSeverityForType(int type); /** * @return whether we should do code analysis */ boolean makeCodeAnalysis(); /** * @return a set with the names that should be ignored when reporting unused variables * (this are names 'starting with' that should be ignored) * * e.g.: if dummy is in the set, ignore names starting with 'dummy' that will be reported as unused variables */ Set<String> getNamesIgnoredByUnusedVariable(); /** * @return a set with the names of the modules where unused imports should not be reported */ Set<String> getModuleNamePatternsToBeIgnored(); /** * @return a set with the names of the tokens that should be considered in the globals at all times */ Set<String> getTokensAlwaysInGlobals(); /** * The analysis preferences may have caches, so that we don't get all from the cache, but we must be able to clear them * if something changes (if user changes the preferences). */ void clearCaches(); /** * @return the message that should be in a line so that a warning of a given type is ignored. * I.e.: @UnusedImport */ String getRequiredMessageToIgnore(int type); }