/******************************************************************************* * Copyright © 2011, 2013 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation * *******************************************************************************/ package org.eclipse.edt.compiler.internal.core.builder; import java.util.ResourceBundle; import org.eclipse.edt.compiler.core.ast.Node; import org.eclipse.edt.mof.egl.Element; /** * @author winghong */ public interface IProblemRequestor { // The following method should be overriden by all non-abstract subtypes void acceptProblem(int startOffset, int endOffset, int severity, int problemKind, String[] inserts, ResourceBundle bundle); // The following methods exist for convenience and are overriden in // DefaultProblemRequestor. Subtypes need not override them void acceptProblem(int startOffset, int endOffset, int severity, int problemKind, String[] inserts); void acceptProblem(Node astNode, int problemKind); void acceptProblem(Node astNode, int problemKind, int severity); void acceptProblem(Node astNode, int problemKind, String[] inserts); void acceptProblem(Node astNode, int problemKind, int severity, String[] inserts); void acceptProblem(Node astNode, int problemKind, int severity, String[] inserts, ResourceBundle bundle); void acceptProblem(Element element, int problemKind); void acceptProblem(Element element, int problemKind, int severity); void acceptProblem(Element element, int problemKind, int severity, String[] inserts); void acceptProblem(Element element, int problemKind, int severity, String[] inserts, ResourceBundle bundle); void acceptProblem(int startOffset, int endOffset, int severity, int problemKind); void acceptProblem(int startOffset, int endOffset, int problemKind, String[] inserts); void acceptProblem(int startOffset, int endOffset, int problemKind, boolean isError, String[] inserts); void acceptProblem(int startOffset, int endOffset, int problemKind, boolean isError, String[] inserts, ResourceBundle bundle); boolean shouldReportProblem(int problemKind); boolean hasError(); //EGL Message ranges (ids): // 0000-0999: reserved (not used) // 2000-2999: Parser // 3000-6999: Validation/Pre-processor // 7000-7999: Editor // 8000-8999: // 9000-9999: public static final int MISSING_SEMI = 2000; public static final int UNEXPECTED_EOF = 2001; public static final int UNEXPECTED_TOKEN = 2002; public static final int MISSING_END = 2003; public static final int UNMATCHED_BRACE = 2004; public static final int UNMATCHED_PAREN = 2005; public static final int UNMATCHED_BRACKET = 2006; public static final int UNCLOSED_STRING = 2050; public static final int UNCLOSED_BLOCK_COMMENT = 2051; public static final int UNCLOSED_SQL_STMT = 2052; public static final int INVALID_SQL_STMT = 2053; public static final int INVALID_SQL_CONDITION = 2054; public static final int INCOMPLETE_DATA_ACCESS = 2055; public static final int DUPLICATE_PART_SUBTYPE = 2056; public static final int INVALID_PART_SUBTYPE = 2057; public static final int ANNOTATION_NOT_APPLICABLE = 2058; public static final int NOT_AN_ANNOTATION = 2065; public static final int COMPILATION_EXCEPTION = 3000; public static final int INVALID_NAME_LENGTH = 3001; public static final int INVALID_CHARACTER_IN_NAME = 3002; public static final int EZE_NOT_ALLOWED = 3003; public static final int DUPLICATE_VARIABLE_NAME = 3010; public static final int DUPLICATE_NAME_ACROSS_LISTS = 3012; public static final int CANNOT_REDUCE_VISIBILITY = 3013; public static final int RETURN_TYPES_NOT_COMPATIBLE = 3014; public static final int CANNOT_INVOKE_ABSTRACT_FUNCTION = 3015; public static final int RESERVED_WORD_NOT_ALLOWED = 3019; public static final int DUPLICATE_NAME_IN_FILE = 3022; public static final int FUNCTION_TOO_MANY_PARMS = 3028; public static final int DUPLICATE_USE_NAME = 3031; public static final int INVALID_SUBSCRIPT_NESTING = 3035; public static final int TYPE_CANNOT_BE_SUBSCRIPTED = 3037; public static final int DUPLICATE_NAME_IN_NAMESPACE = 3039; public static final int GENERATABLE_PART_NAME_MUST_MATCH_FILE_NAME = 3040; public static final int ONLY_ONE_GENERATABLE_PART_PER_FILE = 3041; public static final int TYPE_CANNOT_BE_QUALIFIED = 3042; public static final int PACKAGE_NAME_DOESNT_MATCH_DIRECTORY_STRUCTURE = 3049; public static final int PACKAGE_NAME_NOT_PROVIDED = 3064; public static final int WHITESPACE_NOT_ALLOWED = 3066; public static final int STATIC_ARRAY_PARAMETER_DEFINITION = 3067; public static final int RECORD_PARAMETER_WITH_NO_CONTENTS = 3118; public static final int EXPRESSION_NOT_VALID_FOR_PROPERTY = 3127; public static final int PROPERTY_STRING_PRIMITIVE_REQUIRED = 3193; public static final int PROPERTY_NUMERIC_PRIMITIVE_REQUIRED = 3194; public static final int ARRAY_DIMENSION_NOT_ALLOWED = 3248; public static final int SETTINGS_BLOCK_NOT_ALLOWED = 3249; public static final int INTEGER_LITERAL_OUT_OF_RANGE = 3250; public static final int DECIMAL_LITERAL_OUT_OF_RANGE = 3251; public static final int FLOATING_POINT_LITERAL_OUT_OF_RANGE = 3252; public static final int EXPR_INVALID_IN_THIS_LOCATION = 3253; public static final int TYPE_CANNOT_BE_RESOLVED = 3260; public static final int TYPE_IS_AMBIGUOUS = 3262; public static final int ARRAY_SIZE_LESS_THAN_ZERO = 3263; public static final int ARRAY_SIZE_NOT_ALLOWED_IN_ISA_OR_AS = 3264; public static final int BYTES_LITERAL_LENGTH_MUST_BE_EVEN = 3277; public static final int BIGINT_LITERAL_OUT_OF_RANGE = 3278; public static final int SMALLINT_LITERAL_OUT_OF_RANGE = 3279; public static final int SMALLFLOAT_LITERAL_OUT_OF_RANGE = 3280; public static final int TYPE_IS_NOT_PARAMETERIZABLE = 3281; public static final int TYPE_ARG_NOT_VALID = 3282; public static final int TYPE_ARGS_INVALID_SIZE = 3283; public static final int ANNOTATION_CANNOT_BE_ARRAY = 3290; public static final int ANNOTATION_MUST_BE_ARRAY = 3291; public static final int ANNOTATION_CANNOT_BE_NULL= 3292; public static final int ANNOTATION_MUST_BE_STRING = 3293; public static final int ANNOTATION_MUST_BE_BOOL = 3294; public static final int ANNOTATION_MUST_BE_INT = 3295; public static final int ANNOTATION_MUST_BE_FLOAT = 3296; public static final int ANNOTATION_MUST_BE_DECIMAL = 3297; public static final int ANNOTATION_VALUE_NOT_COMPAT = 3298; public static final int IMPORT_COLLISION = 3328; public static final int PART_CANNOT_HAVE_DASH = 3344; public static final int INVALID_SUBSCRIPT_OR_SUBSTRING = 3345; public static final int INVALID_REAL_OR_FLOAT_IN_NAME = 3346; public static final int REFERENCE_CANNOT_CONTAIN_SUBSTRING = 3348; public static final int INVALID_NAME_TOKEN_SEQUENCE = 3349; public static final int TYPEDEF_CANNOT_BE_SUBSCRIPTED = 3352; public static final int IDENTIFIER_CANNOT_BE_SUBSCRIPTED = 3355; public static final int PARTREFERENCE_CANNOT_BE_SUBSCRIPTED = 3356; public static final int RECORD_FILENAME_CANNOT_BE_SUBSCRIPTED = 3357; public static final int PART_CANNOT_BE_SUBSCRIPTED = 3358; public static final int PART_CANNOT_BE_QUALIFIED = 3359; public static final int SUBSTRING_INDEX_NOT_INTEGER = 3363; public static final int ALIAS_CANNOT_BE_QUALIFIED = 3365; public static final int IDENTIFIER_CANNOT_BE_QUALIFIED = 3366; public static final int FUNCTION_CANT_HAVE_PARMS = 3385; public static final int FUNCTION_REQUIRES_RETURN_TYPE = 3386; public static final int FUNCTION_MUST_HAVE_ONE_PARM = 3387; public static final int FUNCTION_PARM_MUST_BE_IN = 3388; public static final int FUNCTION_CANT_HAVE_RETURN_TYPE = 3389; public static final int INTERFACE_FUNCTION_MISSING = 3400; public static final int ABSTRACT_FUNCTION_MISSING = 3401; public static final int ABSTRACT_FUNCTION_IN_CONCRETE_PART = 3402; public static final int ABSTRACT_FUNCTION_IS_PRIVATE = 3403; public static final int ABSTRACT_FUNCTION_IS_STATIC = 3404; public static final int INVALID_REFERENCE_TO_NONSTATIC_FIELD = 3405; public static final int INVALID_REFERENCE_TO_NONSTATIC_FUNCTION = 3406; public static final int MAIN_FUNCTION_CANNOT_BE_ASSIGNED_TO_DELEGATE = 3418; public static final int PART_DEFINITION_REQUIRES_TYPE_CLAUSE = 3420; public static final int EXTERNALTYPE_MUST_EXTEND_EXTERNALTYPE = 3421; public static final int CANNOT_WRITE_TO_EXTERNALTYPE_FIELD_WITH_NO_SETTER = 3423; public static final int CANNOT_READ_FROM_EXTERNALTYPE_FIELD_WITH_NO_GETTER = 3424; public static final int PROPERTY_ANNOTATION_MUST_BE_IN_EXTERNALTYPE= 3425; public static final int INTERFACE_MUST_EXTEND_INTERFACE = 3427; public static final int INVOCATION_MUST_BE_IN_TRY = 3428; public static final int TYPE_NOT_INSTANTIABLE = 3433; public static final int PRIVATE_CONSTRUCTOR = 3434; public static final int SETTING_NOT_ALLOWED = 3436; public static final int SETTING_NOT_ALLOWED_NULL = 3437; public static final int POSITIONAL_PROPERTY_NOT_ALLOWED_WITH_INITIAL_SIZE = 3439; public static final int TYPE_IN_CATCH_BLOCK_NOT_EXCEPTION = 3440; public static final int DUPLICATE_ONEXCEPTION_EXCEPTION = 3441; public static final int THROW_TARGET_MUST_BE_EXCEPTION = 3444; public static final int EXTERNAL_TYPE_SUPER_SUBTYPE_MISMATCH = 3446; public static final int PART_OR_STATEMENT_NOT_SUPPORTED = 3458; public static final int EXTERNAL_FUNCTION_NOT_ALLOWED_FOR_PROPERTY = 3461; public static final int STATEMENT_NOT_SUPPORTED = 3463; public static final int STATEMENT_NOT_EXTENDED = 3464; public static final int MULTIPLE_OVERLOADED_FUNCTIONS_MATCH_ARGUMENTS = 3468; public static final int NO_FUNCTIONS_MATCH_ARGUMENTS = 3469; public static final int ENUMERATION_CONSTANT_INVALID = 3470; public static final int ENUMERATION_CONSTANT_DUPLICATE= 3471; public static final int MULTI_INDICES_NOT_SUPPORTED= 3472; public static final int ENUMERATION_NO_FIELDS= 3473; public static final int CLASS_MUST_EXTEND_CLASS = 3474; public static final int PART_CANNOT_EXTEND_ITSELF = 3475; public static final int THROWS_NOT_VALID_HERE= 3480; public static final int STEREOTYPE_NO_PARMS = 3514; public static final int STEREOTYPE_BAD_TYPE = 3515; public static final int INVALID_LENGTH_FOR_PARAMETERIZED_TYPE = 4401; public static final int INVALID_DECIMALS = 4402; public static final int DECIMALS_GREATER_THAN_LENGTH = 4403; public static final int NEGATIVE_LENGTH_INVALID = 4412; public static final int COULD_NOT_BUILD_DEFAULT_STATEMENT = 4515; //$NON-NLS-1$ public static final int IO_OBJECT_CONTAINS_NO_STRUCTURE_ITEMS = 4530; //$NON-NLS-1$ public static final int IO_OBJECT_CONTAINS_NO_READ_WRITE_COLUMNS = 4531; //$NON-NLS-1$ public static final int IO_OBJECT_IS_SQL_JOIN = 4532; //$NON-NLS-1$ public static final int IO_OBJECT_CONTAINS_ONLY_KEY_OR_READONLY_COLUMNS = 4533; //$NON-NLS-1$ public static final int PROGRAM_MAIN_FUNCTION_REQUIRED = 4922; public static final int MAIN_FUNCTION_HAS_PARAMETERS = 4924; public static final int DATA_DECLARATION_HAS_INCORRECT_TYPE = 4926; public static final int USE_STATEMENT_RESOLVES_TO_INVALID_TYPE = 4930; public static final int CONST_MODIFIER_NOT_ALLOWED_WITH_OUT_MODIFIER = 4958; public static final int EXTERNALTYPE_PARM_CANNOT_BE_CONST = 4961; public static final int SERVICE_PARM_CANNOT_BE_CONST = 4962; public static final int IS_NOT_UNSUPPORTED = 5009; public static final int FOR_STATEMENT_COUNTER_MUST_BE_INT = 5035; public static final int FOR_STATEMENT_EXPR_MUST_BE_INT = 5036; public static final int FOREACH_ARRAY_MUST_DECLARE_VARIABLE = 5037; public static final int FOREACH_SOURCE_MUST_BE_ARRAY = 5038; public static final int RECURSIVE_LOOP_IN_EXTENDS = 5045; public static final int CONTINUE_STATEMENT_LOCATION = 5054; public static final int INVALID_CONTINUE_EXIT_MODIFIER = 5055; public static final int INVALID_CONTINUE_EXIT_LABEL = 5056; public static final int RECURSIVE_LOOP_STARTED_WITHIN_FLEXIBLE_RECORD_BY_TYPEDEF = 5057; public static final int CASE_WHEN_MUST_BE_BOOLEAN_EXPRESSION = 5078; public static final int TYPE_INCOMPATIBLE_ARITHMETIC_COMPARISON = 5089; public static final int ROUTINE_MUST_HAVE_X_ARGS = 5109; public static final int INVALID_EXPRESSION_DATA_ACCESS_OR_STRING_LITERAL = 5188; public static final int L_STRING_NOT_CLOSED = 5202; public static final int L_TOO_MANY_DIGITS = 5203; public static final int P_FOUND_RBRACKET_WRONG = 5205; public static final int P_MISSING_FROM_SUBSTRING = 5206; public static final int P_TOO_MANY_SUBSTRINGS = 5207; public static final int P_UNRECOGNIZED_TOKEN = 5208; public static final int P_SUBSCRIPT_OR_SUBSTRING_NOT_CLOSED = 5209; public static final int P_SUBSTRING_NOT_LAST = 5210; public static final int P_FOUND_EMPTY_BRACKETS = 5211; public static final int MISSING_OPERATION_FOR_BINARY_EXPRESSION = 5214; public static final int MISSING_OPERATION_FOR_SUBSTRING = 5215; public static final int MISSING_OPERATION_FOR_UNARY_EXPRESSION = 5216; public static final int PROPERTY_ONLY_VALID_FOR_PRIMITIVE_TYPE = 5414; public static final int PROXY_FUNCTIONS_CANNOT_HAVE_STMTS = 5704; public static final int DUPE_OPTION = 6510; public static final int SUBSCRIPT_MUST_BE_INTEGER_ITEM = 6583; public static final int DOT_ACCESS_USED_AFTER_DYNAMIC = 6584; public static final int ARRAY_ACCESS_NOT_SUBSCRIPTED = 6585; public static final int NON_ARRAY_ACCESS_SUBSCRIPTED = 6586; public static final int NON_DYNAMIC_ACCESS_ACCESSED_DYNAMICALLY = 6588; public static final int RETURN_VALUE_WO_RETURN_DEF = 6608; public static final int VARIABLE_NOT_FOUND = 6619; public static final int VARIABLE_ACCESS_AMBIGUOUS = 6620; public static final int GOTO_LABEL_IS_UNDEFINED = 6624; public static final int DUPLICATE_LABEL = 6625; public static final int EXIT_PROGRAM_ITEM_NOT_INTEGER = 6628; public static final int CANNOT_MODIFY_CONSTANT = 6646; public static final int SUBSTRING_IMMUTABLE = 6649; public static final int ASSIGNMENT_STATEMENT_TYPE_MISMATCH = 6653; public static final int FUNCTION_MUST_RETURN_TYPE = 6654; public static final int FUNCTION_ARG_LITERAL_NOT_VALID_WITH_INOUT_PARAMETER = 6673; public static final int FUNCTION_ARG_REQUIRES_IN_PARAMETER = 6674; public static final int FUNCTION_ARG_LITERAL_NOT_VALID_WITH_OUT_PARAMETER = 6675; public static final int RETURN_STATEMENT_TYPE_INCOMPATIBLE = 6691; public static final int FUNCTION_ARG_NOT_REFERENCE_COMPATIBLE_WITH_PARM = 6716; public static final int EXIT_MODIFIER_ONLY_ALLOWED_IN_PROGRAM = 6726; public static final int EXIT_MODIFIER_NOT_ALLOWED_IN_SERVICE = 6727; public static final int GOTO_LABEL_NOT_ACCESSIBLE = 6728; public static final int FUNCTION_ARG_NOT_ASSIGNMENT_COMPATIBLE_WITH_PARM = 6731; public static final int FUNCTION_REFERENCE_CANNOT_BE_RESOLVED = 6746; public static final int FUNCTION_INVOCATION_TARGET_NOT_FUNCTION_OR_DELEGATE = 6751; public static final int FUNCTION_ARG_CANNOT_BE_THIS = 6754; public static final int CONSTRUCTOR_CALL_WRONG_PLACE = 6756; public static final int MISSING_IMPLICIT_CONSTRUCTOR = 6757; public static final int FUNCTION_ARG_CANNOT_BE_SUPER = 6758; public static final int MUST_DEFINE_CONSTRUCTOR = 6759; public static final int POSITIONAL_PROPERTY_NOT_VALID_FOR = 7510; public static final int SET_VALUES_BLOCK_NOT_VALID_AS_FUNC_ARG = 7511; public static final int SET_VALUES_BLOCK_NOT_VALID_AS_CASE_CRITERION = 7513; public static final int SET_VALUES_BLOCK_NOT_VALID_AS_WHEN_CLAUSE = 7514; public static final int SET_VALUES_BLOCK_NOT_VALID_AS_RETURN_ARG = 7516; public static final int DATETIME_PATTERN_FIRST_INTERVAL_FIELD_TOO_LONG = 7624; public static final int DATETIME_PATTERN_HAS_INVALID_CHARACTER = 7625; public static final int DATETIME_PATTERN_OUT_OF_ORDER = 7626; public static final int DATETIME_PATTERN_YEAR_FIELD_TOO_LONG = 7627; public static final int DATETIME_PATTERN_MONTH_FIELD_TOO_LONG = 7628; public static final int DATETIME_PATTERN_DAY_FIELD_TOO_LONG = 7629; public static final int DATETIME_PATTERN_HOUR_FIELD_TOO_LONG = 7630; public static final int DATETIME_PATTERN_MINUTES_FIELD_TOO_LONG = 7631; public static final int DATETIME_PATTERN_SECONDS_FIELD_TOO_LONG = 7632; public static final int DATETIME_PATTERN_SECOND_FRACTIONS_FIELD_TOO_LONG = 7633; public static final int DATETIME_PATTERN_MISSING_INTERMEDIATE_FIELD = 7634; public static final int DATETIME_PATTERN_EMPTY = 7635; public static final int DATETIME_PATTERN_INVALID_INTERVAL_SPAN = 7636; public static final int UNREACHABLE_CODE = 7755; public static final int PART_MUST_IMPLEMENT_AN_INTERFACE = 7801; public static final int TYPE_NOT_ALLOWED_IN_SERVICE_OR_PROXY_FUNC_PARM = 7804; public static final int TYPE_NOT_ALLOWED_AS_SERVICE_OR_PROXY_FUNC_RETURN = 7805; public static final int FIELD_NOT_ALLOWED_IN_SERVICE_OR_PROXY_FUNC_PARM = 7806; public static final int INTERFACE_FUNCTION_CANNOT_BE_PRIVATE = 7810; public static final int IN_MODIFIER_REQUIRED_FOR_JAVAOBJECT_FUNCTION_PARAMETERS = 7824; public static final int IN_MODIFIER_REQUIRED_FOR_JAVASCRIPTOBJECT_FUNCTION_PARAMETERS = 7826; public static final int MATCHING_CONSTRUCTOR_CANNOT_BE_FOUND = 7830; public static final int FUNCTION_NOT_VALID_AS_LVALUE = 7954; }