<filename>src/utils/exceptions.py

ERROR_ON = 'ERROR!!! LINEA %d , COLUMNA %d : '

# TYPE CHECKER
WRONG_SIGNATURE = 'EL METODO "%s" YA ESTA DEFINIDO EN "%s" CON OTRA SIGNATURA.'
SELF_IS_READONLY = 'LA VARIABLE self SOLAMENTE ES read-only.'
LOCAL_ALREADY_DEFINED = 'LA VARIABLE "%s" YA ESTA DEFINIDA EN EL METODO "%s".'
INCOMPATIBLE_TYPES = 'NO SE PUEDE CONVERTIR DE "%s" A "%s".'
VARIABLE_NOT_DEFINED = 'LA VARIABLE "%s" NO ESTA DEFINIDA EN "%s".'
INVALID_OPERATION = 'LA OPERACION ENTRE "%s" Y "%s" NO ESTA DEFINIDA.'
INVALID_VOID = 'EL TIPO void ES INVALIDO.'
CYCLIC_HERITAGE = 'EL TIPO "%s" SE ENCUENTRA EN UN CICLO DE HERENCIA.'
TYPE_NOT_USED_CASE = 'EL TIPO "%s" NO PUEDE SER USADO EN UNA RAMA DE TIPO case.'
TYPE_NOT_USED_DISPATCH = 'EL TIPO "%s" NO PUEDE SER USADO COMO UN TIPO dispatch.'
METHOD_NOT_USED_DISPATCHED = 'EL METODO "%s" NO PUEDE SER dispatched.'

# TYPE INFERER
INVALID_INFERER = 'NO SE PUEDE INFERIR EL TIPO DE "%s".'
INFERENCE_ON = 'LINEA %d , COLUMNA %d : '
INFERENCE_ATTR = 'EL ATRIBUTO "%s" DE LA CLASE "%s" POSEE TIPO "%s".'
INFERENCE_PARAMETER = 'EL PARAMETRO "%s", EN EL METODO "%s" Y EN LA CLASE "%s" POSEE TIPO "%s".'
INFERENCE_RETURN = 'EL METODO "%s" DE LA CLASE "%s" POSEE COMO TIPO DE RETORNO "%s".'
INFERENCE_VARIABLE = 'LA VARIABLE "%s" POSEE TIPO "%s".'

# TYPE BUILDER
CIRCULAR_DEPENDENCY = 'DEPENDENCIA CIRCULAR ENTRE "%s" Y "%s".'
CLASS_METHOD_MAIN = 'LA CLASE Main Y EL METODO main SON NECESARIOS.'
TYPE_CANNOT_PARAMETER = 'EL TIPO "%s" NO PUEDE SER USADO COMO PARAMETRO.'

# SEMANTIC
PARENT_ALREADY_DEFINED = 'EL TIPO parent YA ESTA DEFINIDO PARA "%s".'
ATTR_NOT_DEFINED = 'EL ATRIBUTO "%s" NO ESTA DEFINIDO EN "%s".'
ATTR_ALREADY_DEFINED = 'EL ATRIBUTO "%s" YA ESTA DEFINIDO EN "%s".'
METHOD_NOT_DEFINED = 'EL METODO "%s" NO ESTA DEFINIDO EN "%s".'
METHOD_ALREADY_DEFINED = 'EL METODO "%s" YA ESTA DEFINIDO EN "%s".'
TYPE_ALREADY_DEFINED_CONTEXT = 'EL TIPO "%s" YA EXISTE EN EL CONTEXTO.'
TYPE_NOT_DEFINED = 'EL TIPO "%s" NO ESTA DEFINIDO.'
TYPE_SEALED = 'EL TIPO parent DE "%s" ESTA SELLADO, POR LO QUE NO SE PUEDE HEREDAR DE EL.'

# UTILS
INVALID_ARGS = 'SOLAMENTE DEBE PASAR UN PARAMETRO CON LA RUTA DEL FICHERO A ANALIZAR.'
INVALID_EXTENSION = 'EL ARCHIVO "%s" DEBE TENER LA EXTENSION .cl.'
PATH_NOT_FOUND = 'LA RUTA "%s" NO FUE ENCONTRADA.'
INVALID_ACTION = 'ACCION INVALIDA.'

# PARSER
UNEXCEPTED_TOKEN = 'ERROR!!! TOKEN INESPERADO "%s" EN LA LINEA %s Y EN LA COLUMNA %s.'

# TYPE CHECK
ERROR = 'ERROR!!!'
INVALID_FUNCTION = 'LOS PARAMETROS DE LA FUNCION "%s" ESTAN MAL ESPECIFICADOS.'
INVALID_RETURNED_FUNCTION = 'LA FUNCION "%s" NO DEVUELVE EL TIPO ESPECIFICADO.'

