Libraries.Language.Compile.CompilerErrorCodes Documentation

Inherits from: Libraries.Language.Object

Variables Table

VariablesDescription
integer PARSER_RETURN_STATEMENT_BAD_RETURNParser Errors. RepeatStatement Rule.
integer QUORUM_BYTECODE_LISTENER_BAD_OUTPUTQuorum Bytecode Listener
integer PARSER_QUALIFIED_NAME_BAD_IDParser Package. Package Rule.
integer PARSER_ACTION_DECLARATION_ENDED_STARTParser Errors. ActionDeclaration Rule.
integer PARSER_LISTENER_DUPLICATE_CONSTRUCTORClass
integer CLASS_TEMPLATE_MISMATCH_RIGHT_HAS
integer PARSER_REPEAT_STATEMENT_ENDED_POST_EXPRESSION
integer PARSER_CAST_BAD_RIGHT_PARENParser Cast. Use Rule.
integer PARSER_USE_BAD_USEParser Package. Use Rule.
integer PARSER_NORMAL_ASSIGNMENT_BAD_ID
integer PARSER_ALWAYS_STATEMENT_ENDED_STARTParser Errors. AlwaysStatement Rule.
integer CLASS_VARIABLE_GENERICS_SIZE_TYPE_RESOLUTION_INSIDE_ACTION
integer QUORUM_BYTECODE_LISTENER_NO_INITIAL_DEFINITION_AGAIN
integer CLASS_MISMATCHED_RETURN_INHERITANCEParser Listener
integer PARSER_PARENT_SOLO_ACTION_CALL_BAD_PARENTParser Errors. VariableSoloActionCall Rule.
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_NO_TOKEN
integer PARSER_PARENTHESIS_BAD_RIGHT_PARENParser Parenthesis. Use Rule.
integer PARSER_GET_STATEMENT_TYPE_BAD_ID_PARENT_COLON_ID
integer PARSER_EXPRESSION_BAD_TOKENParser Input. Use Rule.
integer PARSER_ACTION_CALL_BAD_RIGHT_PARENParser ActionOrParentActionCall. Use Rule.
integer SYMBOL_TABLE_ADD_CLASSSymbol Table
integer PARSER_GENERIC_DECLARATION_BAD_ID
integer PARSER_FORMAL_PARAMETER_ENDED_ID
integer QUORUM_BYTECODE_ACTION_HEADER_NO_CLASS
integer COMPILER_BAD_PACKAGEThese errors all were found after the initial pass. They are in a different spot, but ultimately this does not matter much, as they are just arbitrary codes.
integer QUORUM_BYTECODE_LISTENER_IF_TYPE_NOT_BOOLEAN
integer PARSER_SAY_STATEMENT_BAD_OUTPUTParser Errors. AlertStatement Rule.
integer PARSER_DETECT_STATEMENT_BAD_IDParser Errors. AlwaysStatement Rule.
integer PARSER_NO_TYPE_ASSIGNMENT_BAD_EQUALSParser Errors. ParentAssignment Rule.
integer PARSER_PARENT_ASSIGNMENT_BAD_EQUALSParser Errors. ObjectAssignment Rule.
integer QUORUM_BYTECODE_LISTENER_CANNOT_FIND_PARENT
integer QUORUM_BYTECODE_LISTENER_BAD_LOOP_TYPE
integer PARSER_CLASS_STATEMENT_BAD_STATEMENT_FALLBACK
integer CLASS_MISSING_USE_ALLParser Number. Use Rule.
integer QUORUM_BYTECODE_LISTENER_MISSING_PARENT_ADAPT
integer PARSER_ACTION_SHARED_BAD_ACTION
integer PARSER_PARENT_ASSIGNMENT_BAD_PARENT_COLONParser Errors. ParentAssignment Rule.
integer COMPILER_BAD_STARTING_POINT
integer PARSER_FORMAL_PARAMETER_ENDED_STARTParser Errors. FormalParameter Rule.
integer PARSER_GENERIC_DECLARATION_ENDED_STARTParser Errors. GenericDeclaration Rule.
integer CLASS_ACTION_NOT_FOUND
integer PARSER_IF_STATEMENT_BAD_ENDParser Errors. OutputStatement Rule.
integer PARSER_CHECK_STATEMENT_ENDED_END
integer QUORUM_BYTECODE_BLOCK_RETURN
integer QUORUM_BYTECODE_LISTENER_TYPE_UNKNOWN
integer CLASS_ACTION_REDEFINEParser Parenthesis. Use Rule.
integer QUORUM_BYTECODE_LISTENER_VARIABLE_NOT_DEFINED
integer PARSER_ASSIGNMENT_STATEMENT_BAD_ASSIGNParser Errors. AssignmentStatement Rule.
integer PARSER_OBJECT_ASSIGNMENT_BAD_PARENT_ID
integer QUORUM_BYTECODE_LISTENER_VARIABLE_NOT_DEFINED_FIELDS
integer PARSER_INPUT_BAD_LEFT_PARENParser Cast. Use Rule.
integer BLOCK_DUPLICATE_VARIABLEBlock
integer PARSER_FORMAL_PARAMETER_BAD_IDParser Errors. AssignmentStatementInFieldBlock Rule.
integer PARSER_NORMAL_ASSIGNMENT_ENDED_STARTParser Errors. NormalAssignment Rule.
integer QUORUM_BYTECODE_LISTENER_MISSING_FIELD_OBJECT
integer PARSER_OBJECT_ASSIGNMENT_BAD_EQUALSParser Errors. NormalAssignment Rule.
integer PARSER_REPEAT_STATEMENT_BAD_REPEAT
integer PARSER_RETURN_STATEMENT_ENDED_STARTParser Errors. ReturnStatement Rule.
integer PARSER_ALERT_STATEMENT_BAD_LEFT_PARENParser Errors. ActionShared Rule.
integer PARSER_LISTENER_UNDERSCORE_RULEParser Listener
integer QUORUM_BYTECODE_LISTENER_CLASS_NOT_FOUND
integer QUORUM_BYTECODE_LISTENER_MISSING_VARIABLE_ASSIGNMENT
integer PARSER_QUALIFIED_NAME_BAD_PERIOD_IDParser Expression. Use Rule.
integer PARSER_NO_CLASS_BAD_UNKNOWN_STATEMENTParser Errors. Uses Rule.
integer PARSER_ACTION_DECLARATION_BAD_CREATE
integer PARSER_ASSIGNMENT_STATEMENT_BAD_UNKOWN_TOKENParser Errors. GetStatementType Rule.
integer PARSER_ASSIGNMENT_STATEMENT_BAD_NO_TOKEN
integer CLASS_TYPE_REDEFINE
integer PARSER_PROCESS_QUALIFIED_NAME_BAD_IDParser Errors. ProcessQualifiedName Rule.
integer PARSER_TOKEN_AFTER_CLASS
integer QUORUM_BYTECODE_LISTENER_PARENT_CONSTANT_REASSIGNMENT
integer CLASS_MISSING_USE_TYPE_RESOLUTION_NON_GENERIC_INSIDE_ACTION
integer CLASS_VARIABLE_REDEFINE
integer PARSER_ALERT_STATEMENT_ENDED_PAREN
integer QUORUM_BYTECODE_LISTENER_PARENT_CONSTANT_REASSIGNMENT_EXIT_PARENT_ASSIGNMENT
integer BLOCK_DUPLICATE_VARIABLE_EXCEPTIONSType Check Result
integer CLASS_BLUEPRINT_OVERRIDEClass
integer CLASS_DIAMOND_INHERITANCEParser ActionCall. Use Rule.
integer PARSER_ACTION_CALL_PERIOD
integer QUORUM_BYTECODE_LISTENER_ELSE_IF_TYPE_UNKNOWN
integer PARSER_CLASS_STATEMENT_ENDED_STARTParser Errors. ClassStatement Rule.
integer QUORUM_BYTECODE_LISTENER_CONSTANT_REASSIGNMENT
integer PARSER_IF_STATEMENT_BAD_ELSE_IF_EXPRESSION
integer PARSER_OBJECT_ASSIGNMENT_BAD_COLON
integer PARSER_STATEMENT_ENDED_STARTParser Errors. Statement Rule.
integer PARSER_INHERITANCE_DECLARATION_ENDED_SECOND_COMMAParser Errors. InheritanceStatement Rule.
integer PARSER_GENERIC_STATEMENT_ENDED_COMMAParser Errors. GenericStatement Rule.
integer PARSER_FULL_CLASS_ENDED_STARTParser Errors. FullClass Rule.
integer LEXER_PERIOD
integer PARSER_FULL_CLASS_ENDED_END
integer PARSER_REPEAT_STATEMENT_BAD_REPEAT_KIND
integer PARSER_GET_STATEMENT_TYPE_BAD_TYPE_COLON
integer CLASS_ACTION_UNIQUE_MATCH
integer QUORUM_BYTECODE_EXIT_ACTION_MISSING_RETURN
integer PARSER_NORMAL_ASSIGNMENT_ENDED_EXPRESSION
integer PARSER_ACTION_SHARED_ENDED_STARTParser Errors. ActionShared Rule.
integer PARSER_ALERT_STATEMENT_ENDED_STARTParser Errors. AlertStatement Rule.
integer PARSER_ACTION_SHARED_NO_RETURN
integer PARSER_ACTION_CALL_BAD_EXPRESSION_LISTParser ActionCall. Use Rule.
integer PARSER_NUMBER_PARSEParser Number. Use Rule.
integer PARSER_PACKAGE_ENDED_STARTParser Package. Package Rule.
integer PARSER_ASSIGNMENT_STATEMENT_BAD_UNKOWN_NO_TOKEN
integer LEXER_INVALID_CHARACTERLexer
integer QUORUM_BYTECODE_LISTENER_MISSING_VARIABLE_NO_TYPE
integer PARSER_IF_STATEMENT_ENDED_LAST_END
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_ACTION
integer QUORUM_BYTECODE_LISTENER_REPEAT_NOT_BOOLEAN
integer PARSER_PARENT_ASSIGNMENT_BAD_COLONParser Errors. SkipParent Rule.
integer QUORUM_BYTECODE_LISTENER_GENERIC_CRASH_PREVENTCompiler
integer CLASS_MISSING_USE_TYPE_RESOLUTION_NON_GENERIC
integer PARSER_STATEMENT_BADParser Errors. SkipMe Rule.
integer PARSER_GET_STATEMENT_TYPE_ENDED_STARTParser Errors. GetStatementType Rule.
integer PARSER_ACTION_DECLARATION_BAD_CREATE_END
integer PARSER_PARENT_SOLO_ACTION_CALL_ENDED_STARTParser Errors. ParentVariableSoloActionCall Rule.
integer PARSER_PACKAGE_BAD_PACKAGEParser Package. Use Rule.
integer PARSER_ACTION_SHARED_BAD_ID
integer QUORUM_BYTECODE_LISTENER_MISSING_FIELD
integer PARSER_FULL_CLASS_STATEMENT_BAD_STATEMENT_FALLBACK
integer CLASS_MISSING_ACTION
integer QUORUM_BYTECODE_LISTENER_CONSTANT_REASSIGNMENT_EXIT_NO_TYPE_ASSIGNMENT
integer PARSER_FULL_CLASS_ENDED_BEFORE_CLASS
integer CLASS_NAME_DUPLICATE
integer QUORUM_BYTECODE_LISTENER_MISSING_PARENT_ADAPT_HAS_FIELD
integer QUORUM_BYTECODE_LISTENER_PRIMITIVE_INFER_NO_TYPE_ASSIGNMENT
integer PARSER_INHERITANCE_DECLARATION_ENDED_COMMA
integer PARSER_GET_STATEMENT_TYPE_BAD_UNKNOWNParser Errors. ProcessQualifiedName Rule.
integer QUORUM_BYTECODE_LISTENER_PRIMITIVE_INFER
integer PARSER_GENERIC_STATEMENT_BAD_TYPE_AFTER_COMMA
integer QUORUM_BYTECODE_LISTENER_MISSING_PARENT
integer PARSER_REPEAT_STATEMENT_ENDED_BLOCK_END
integer QUORUM_BYTECODE_LISTENER_CALL_PRIVATE
integer PARSER_PARENT_SOLO_ACTION_CALL_BAD_COLON
integer PARSER_FULL_CLASS_BAD_ID
integer QUORUM_BYTECODE_LISTENER_BAD_PRIMITIVE_CALL
integer PARSER_CAST_BAD_COMMAParser Integer. Use Rule.
integer PARSER_QUALIFIED_NAME_ENDED_PERIODParser QualifiedName. Use Rule.
integer QUORUM_BYTECODE_LISTENER_FIELD_PRIVATE
integer PARSER_PARENT_SOLO_ACTION_CALL_BAD_TYPE_COLON
integer PARSER_ALERT_STATEMENT_BAD_RIGHT_PAREN
integer QUORUM_BYTECODE_LISTENER_BAD_PRIMITIVE_ASSIGNMENT
integer PARSER_IF_STATEMENT_BAD_IF
integer PARSER_IF_STATEMENT_ENDED_ELSE_IF
integer QUORUM_BYTECODE_EXIT_ACTION_CALL_NO_CLASS
integer PARSER_ACTION_SHARED_BAD_RIGHT_PARENParser Errors. FormalParameter Rule.
integer CLASS_MISSING_USE_TYPE_RESOLUTION
integer CLASS_MISSING_USE
integer QUORUM_BYTECODE_LISTENER_CREATE_ABSTRACT
integer PARSER_NORMAL_ASSIGNMENT_BAD_EXPRESSIONParser Errors. ParentVariableSoloActionCall Rule.
integer PARSER_ALWAYS_STATEMENT_BAD_ALWAYSParser Errors. IfStatement Rule.
integer PARSER_CHECK_STATEMENT_BAD_DETECT_OR_ALWAYS
integer QUORUM_BYTECODE_LISTENER_PARENT_FIELD_PRIVATE
integer QUORUM_BYTECODE_LISTENER_CLASS_JUMP_DUPLICATE
integer PARSER_PARENT_SOLO_ACTION_CALL_BAD_PARENT_COLON
integer QUORUM_BYTECODE_LISTENER_BAD_INPUT
integer PARSER_START_EMPTY_FILEThese errors all were found after the initial pass. They are in a different spot, but ultimately this does not matter much, as they are just arbitrary codes.
integer PARSER_GET_STATEMENT_TYPE_POST_ID
integer PARSER_PARENT_SOLO_ACTION_CALL_BAD_ID_COLON
integer PARSER_REPEAT_STATEMENT_ENDED_STARTParser Errors. RepeatStatement Rule.
integer PARSER_ACTION_DECLARATION_ENDED_END
integer PARSER_INPUT_BAD_RIGHT_PARENParser Input. Use Rule.
integer CLASS_VARIABLE_GENERICS_SIZE
integer PARSER_SAY_STATEMENT_ENDED_STARTParser Errors. SayStatement Rule.
integer PARSER_PARENT_ASSIGNMENT_BAD_ID
integer PARSER_REPEAT_STATEMENT_ENDED_POST_REPEAT
integer PARSER_GENERIC_DECLARATION_BAD_GREATERParser Errors. IneritanceDeclaration Rule.
integer PARSER_IF_STATEMENT_ENDED_ELSE
integer PARSER_ACTION_DECLARATION_ENDED_CREATE_END
integer PARSER_EXPRESSION_ENDED_STARTParser Expression. Use Rule.
integer PARSER_CAST_BAD_CAST
integer PARSER_GET_STATEMENT_TYPE_BAD_SAY
integer PARSER_NORMAL_ASSIGNMENT_ENDED_ID
integer PARSER_OBJECT_ASSIGNMENT_BAD_PARENT_COLON
integer PARSER_DETECT_STATEMENT_ENDED_STARTParser Errors. DetectStatement Rule.
integer PARSER_INHERITANCE_DECLARATION_ENDED_STARTParser Errors. IneritanceDeclaration Rule.
integer CLASS_MY_PARENT_IS_ME
integer PARSER_ACTION_DECLARATION_BAD_ENDParser Errors. Statement Rule.
integer QUORUM_BYTECODE_LISTENER_GENERIC_MISMATCH
integer CLASS_MISSING_PARENT_GENERICS
integer QUORUM_BYTECODE_LISTENER_IF_TYPE_UNKNOWN
integer LEXER_EXPONENTParser Errors. FullClass Rule.
integer PARSER_GET_STATEMENT_TYPE_BAD_ID_PARENT_COLON
integer PARSER_QUALIFIED_NAME_ENDED_STARTParser QualifiedName. Use Rule.
integer CLASS_PARENT_GENERICS_SIZE
integer PARSER_VARIABLE_SOLO_ACTION_CALL_BAD_COLON
integer PARSER_ACTION_OR_PARENT_ACTION_CALL_BAD_LEFT_PARENSymbol Table
integer PARSER_REPEAT_STATEMENT_ENDED_POST_UNTIL
integer PARSER_SKIP_PARENT_BAD_COLONParser Errors. SkipParent Rule.
integer COMPILER_MISSING_FILE
integer PARSER_NO_CLASS_ENDED_STARTParser Errors. NoClass Rule.
integer PARSER_NO_TYPE_ASSIGNMENT_ENDED_STARTParser Errors. NoTypeAssignment Rule.
integer PARSER_PROCESS_QUALIFIED_NAME_BAD_PERIOD_IDParser Errors. NoClass Rule.
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_PARENT
integer LEXER_MINUS
integer QUORUM_BYTECODE_LISTENER_MISSING_VARIABLE_NO_SKIP
integer PARSER_DETECT_STATEMENT_BAD_DETECT
integer QUORUM_BYTECODE_LISTENER_ELSE_IF_TYPE_NOT_BOOLEAN
integer CLASS_INHERIT_FROM_SHARED
integer QUORUM_BYTECODE_LISTENER_BAD_GENERIC_AT_INDEX
integer PARSER_USES_BAD_USEParser Errors. Uses Rule.
integer PARSER_CLASS_STATEMENT_BAD_STATEMENT_FALLBACK_NO_TOKEN
integer QUORUM_BYTECODE_LISTENER_CANNOT_FIND_PARENT_VARIABLE
integer PARSER_OBJECT_ASSIGNMENT_ENDED_STARTParser Errors. ObjectAssignment Rule.
integer PARSER_IF_STATEMENT_ENDED_BLOCK
integer CLASS_VARIABLE_GENERICS_SIZE_TYPE_RESOLUTION
integer PARSER_ACTION_DECLARATION_ENDED_CREATEParser Errors. ClassStatement Rule.
integer PARSER_GET_STATEMENT_TYPE_BAD_COLON
integer QUORUM_BYTECODE_LISTENER_BAD_ALERTQuorum Bytecode Listener
integer PARSER_CLASS_STATEMENT_BAD_STATEMENTParser Errors. ActionDeclaration Rule.
integer QUORUM_BYTECODE_LISTENER_CLASS_MUST_INHERIT_ERROR
integer PARSER_GET_STATEMENT_TYPE_BAD_PARENT_ID_UNDEFINEDThe highest value + 1
integer CLASS_CLASS_NOT_FOUND
integer QUORUM_BYTECODE_LISTENER_MISSING_CLASS
integer CLASS_TEMPLATE_MISMATCH_SIZES
integer QUORUM_BYTECODE_LISTENER_BAD_SAYBlock
integer PARSER_VARIABLE_SOLO_ACTION_CALL_BAD_IDParser Errors. ReturnStatement Rule.
integer PARSER_OUTPUT_STATEMENT_ENDED_STARTParser Errors. OutputStatement Rule.
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_UNKOWN_NO_TOKEN
integer PARSER_REPEAT_STATEMENT_BAD_ENDParser Errors. CheckStatement Rule.
integer PARSER_CHECK_STATEMENT_ENDED_STARTParser Errors. CheckStatement Rule.
integer CLASS_ACTION_GENERIC_PARAMETER_MISMATCHAction
integer PARSER_IF_STATEMENT_ENDED_STARTParser Errors. IfStatement Rule.
integer PARSER_CHECK_STATEMENT_BAD_ENDParser Errors. DetectStatement Rule.
integer PARSER_NO_TYPE_ASSIGNMENT_BAD_IDParser Errors. NoTypeAssignment Rule.
integer PARSER_GENERIC_STATEMENT_BAD_TYPE
integer CLASS_PARENT_GENERICS_TYPE_MISMATCH
integer PARSER_SKIP_ME_BAD_COLONParser Errors. SkipMe Rule.
integer TYPE_CHECK_RESULTType Check Result
integer PARSER_GENERIC_STATEMENT_BAD_GREATERParser Errors. AssignmentDeclaration Rule.
integer PARSER_DETECT_STATEMENT_ENDED_OR
integer PARSER_ASSIGNMENT_DECLARATION_BAD_TYPEParser Errors. AssignmentDeclaration Rule.
integer PARSER_OBJECT_ASSIGNMENT_BAD_ID
integer PARSER_CAST_BAD_LEFT_PAREN
integer PARSER_GET_STATEMENT_TYPE_BAD_OUTPUT
integer PARSER_REPEAT_STATEMENT_ENDED_POST_TIMES
integer QUORUM_BYTECODE_LISTENER_CLASS_MISSING_IN_ALWAYS
integer QUORUM_BYTECODE_LISTENER_VARIABLE_MISSING
integer PARSER_FULL_CLASS_ENDED_BEFORE_ID
integer COMPILER_BAD_FILESCompiler
integer PARSER_FULL_CLASS_BAD_ENDParser Errors. GenericDeclaration Rule.
integer PARSER_OUTPUT_STATEMENT_BAD_OUTPUTParser Errors. SayStatement Rule.
integer QUORUM_BYTECODE_LISTENER_REPEAT_NOT_INTEGER
integer QUORUM_BYTECODE_LISTENER_NO_INITIAL_DEFINITION
integer PARSER_VARIABLE_SOLO_ACTION_CALL_ENDED_STARTParser Errors. VariableSoloActionCall Rule.
integer QUORUM_BYTECODE_LISTENER_MISSING_VARIABLE_EXIT_ACTION
integer QUORUM_BYTECODE_LISTENER_MISSING_PARENT_VARIABLE
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_UNKOWN_TOKENParser Errors. AssignmentStatement Rule.
integer PARSER_INTEGER_PARSEParser Integer. Use Rule.
integer CLASS_TEMPLATE_MISMATCH
integer PARSER_GET_STATEMENT_TYPE_BAD_PARENT_ID
integer PARSER_GENERIC_STATEMENT_ENDED_STARTParser Errors. GenericStatement Rule.
integer PARSER_REPEAT_STATEMENT_ENDED_POST_WHILE
integer PARSER_FULL_CLASS_STATEMENT_BAD_STATEMENT_FALLBACK_NO_TOKEN
integer ACTION_DUPLICATE_PARAMETERAction
integer PARSER_ACTION_OR_PARENT_ACTION_CALL_BAD_COLONParser ActionOrParentActionCall. Use Rule.
integer PARSER_INHERITANCE_STATEMENT_NAME_SEQUENCEParser Errors. InheritanceStatement Rule.
integer PARSER_VARIABLE_SOLO_ACTION_DO_NOTHING_FIELD_ACCESS
integer PARSER_ASSIGNMENT_STATEMENT_IN_FIELD_BLOCK_BAD_ASSIGNParser Errors. AssignmentStatementInFieldBlock Rule.
integer PARSER_GET_STATEMENT_TYPE_BAD_PARENT_COLON

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

Example

Object o
Object t
integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

Example

use Libraries.Language.Object
use Libraries.Language.Types.Text
Object o
Text t
boolean result = o:Equals(t)

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

IsValid(integer code)

Parameters

  • integer code

Return

boolean