001package eu.cqse.check.framework.core; 002 003import eu.cqse.check.framework.core.phase.ECodeViewOption; 004import eu.cqse.check.framework.core.phase.IGlobalExtractionPhase; 005 006/** 007 * An enumeration of all parameters that can be passed to a custom check or a 008 * custom check phase. 009 * 010 * Custom checks specify which parameters they need in their {@link Check} 011 * annotation. 012 * 013 * Custom check phases ({@link IGlobalExtractionPhase}) specify the required 014 * parameters in {@link IGlobalExtractionPhase#getRequiredContextParameters()}. 015 */ 016public enum ECheckParameter { 017 018 /** 019 * Custom checks and custom check phases must require this parameter if they use 020 * tokens ({@link ICheckContext#getTokens(ECodeViewOption)}) or an abstract 021 * syntax tree ({@link ICheckContext#getAbstractSyntaxTree(ECodeViewOption)}) of 022 * the token element that is currently analyzed. 023 * 024 * If this parameter is missing, the token/shallow entity list is not 025 * initialized. 026 */ 027 ABSTRACT_SYNTAX_TREE, 028 029 /** 030 * Parameter for type resolution that can be applied to shallow entities. 031 */ 032 TYPE_RESOLUTION, 033 034 /** 035 * Parameter for using the Clang parser infrastructure. 036 */ 037 CLANG 038 039}