Package abstrasy.interpreter

Source Code of abstrasy.interpreter.StdErrors

package abstrasy.interpreter;


import abstrasy.Interpreter;
import abstrasy.Node;
import abstrasy.Tools;

import java.util.Hashtable;

/**
* Abstrasy Interpreter
*
* Copyright : Copyright (c) 2006-2012, Luc Bruninx.
*
* Concédée sous licence EUPL, version 1.1 uniquement (la «Licence»).
*
* Vous ne pouvez utiliser la présente oeuvre que conformément à la Licence.
* Vous pouvez obtenir une copie de la Licence à l’adresse suivante:
*
*   http://www.osor.eu/eupl
*
* Sauf obligation légale ou contractuelle écrite, le logiciel distribué sous
* la Licence est distribué "en l’état", SANS GARANTIES OU CONDITIONS QUELLES
* QU’ELLES SOIENT, expresses ou implicites.
*
* Consultez la Licence pour les autorisations et les restrictions
* linguistiques spécifiques relevant de la Licence.
*
*
* @author Luc Bruninx
* @version 1.0
*/

public class StdErrors {

  private int err;
  private String msg;
  private Node msgExt = null;
   
    private static Hashtable<Integer,StdErrors> _STD_ERRORS_DIC_ = new Hashtable<Integer,StdErrors>();

    private StdErrors(int err, String msg) {
    this.err = err;
    this.msg = msg;
        _STD_ERRORS_DIC_.put(err,this);
  }

  private StdErrors(int err, String msg, Node msgExt) {
    this.err = err;
    this.msg = msg;
    this.msgExt = msgExt;
        _STD_ERRORS_DIC_.put(err,this);
  }
   
    public static StdErrors getStdErrors(int err){
        return _STD_ERRORS_DIC_.get(err);
    }

  public int getErr() {
    return err;
  }

  public String getMsg() {
    return msg;
  }

  public Node getMsgExt() {
    return msgExt;
  }

  public static final StdErrors createTrace(Interpreter interThrd, Exception exception) {
    int error = 0;
    String message = exception.getMessage();
    Node messageExt = null;
    if (exception instanceof InterpreterException) {
      error = ((InterpreterException) exception).getErrCode();
      messageExt = ((InterpreterException) exception).getMessageExt();
    }
    return new StdErrors(error,
               "From thread[" + interThrd.getName() + ":" + interThrd.getId() + "]...\n" + message, messageExt);
  }
 
  public static final StdErrors createTrace(Node fromExecNode, Exception exception) {
    int error = 0;
    String message = exception.getMessage();
    Node messageExt = null;
    if (exception instanceof InterpreterException) {
      error = ((InterpreterException) exception).getErrCode();
      messageExt = ((InterpreterException) exception).getMessageExt();
    }
    return new StdErrors(error,
               Tools.replaceCSeq(fromExecNode.traceLineNumber(), "\n", "") + "Trace: " + fromExecNode.sourceLine() + (message.startsWith("@") ? " ...\n" +
        message: fromExecNode.traceLineNumber() + message), messageExt);
  }

  public static final StdErrors extend(StdErrors stdError, String appendMsg) {
    return new StdErrors(stdError.err, stdError.msg + " (" + appendMsg + ")");
  }



    /*
     * (try{...} catch{...}) ne peut pas capturer les exeptions dont le code est négatif...
     */
    public static final StdErrors Breaking_exception = new StdErrors(-1, "Breaking execution");

 
    /*
     * exceptions capturables...
     */
    public static final StdErrors Unknown_error = new StdErrors(0, "Unknown error");

  public static final StdErrors Syntax_error = new StdErrors(1, "Syntax error");
    public static final StdErrors Stack_overflow = new StdErrors(2, "Stack overflow");

  public static final StdErrors Complete_loop_misplaced = new StdErrors(10, "complete-loop misplaced");
  public static final StdErrors Break_loop_misplaced = new StdErrors(11, "break-loop misplaced");
    public static final StdErrors Skip_loop_misplaced = new StdErrors(12, "skip-loop misplaced");
   
    public static final StdErrors More_than_one_result = new StdErrors(15, "More than one result");

  public static final StdErrors Illegal_tail_call = new StdErrors(20, "Illegal tail-call");
  public static final StdErrors Illegal_arguments_use_in_tail_call = new StdErrors(21, "Illegal arguments use in tail-call");
  public static final StdErrors Tail_call_misplaced = new StdErrors(22, "Tail-call misplaced");
  public static final StdErrors Return_misplaced = new StdErrors(25, "return misplaced");
  public static final StdErrors Stack_less_error = new StdErrors(26, "Stack less error");
  public static final StdErrors Return_register_error = new StdErrors(27, "Return register error");
    public static final StdErrors Restart_error = new StdErrors(28, "Restart error");
    public static final StdErrors Restart_misplaced = new StdErrors(29, "restart misplaced");
    public static final StdErrors Retry_error = new StdErrors(30, "Retry error");
    public static final StdErrors Retry_misplaced = new StdErrors(31, "retry misplaced");
    public static final StdErrors Abort_error = new StdErrors(32, "Abort error");
    public static final StdErrors Abort_misplaced = new StdErrors(33, "abort misplaced");
    public static final StdErrors Delegate_misplaced = new StdErrors(34, "delegate misplaced");
    public static final StdErrors Delegate_return_register_error = new StdErrors(35, "Delegate return register error");
    public static final StdErrors Continue_misplaced = new StdErrors(26, "continue misplaced");

    public static final StdErrors Duplicate_parameters = new StdErrors(102, "Duplicate parameters");
  public static final StdErrors Cannot_estimate_parameter = new StdErrors(103, "Can not estimate parameter");
  public static final StdErrors Invalid_parameter = new StdErrors(104, "Invalid parameter");
  public static final StdErrors Argument_count_mismatch = new StdErrors(105, "Argument-count mismatch");
  public static final StdErrors Argument_type_mismatch = new StdErrors(106, "Argument-type mismatch");
  public static final StdErrors Argument_quote_mismatch = new StdErrors(107, "Argument-quote mismatch");
    public static final StdErrors Perform_arguments_mismatch = new StdErrors(108, "Perform arguments mismatch");

  public static final StdErrors Symbol_not_defined = new StdErrors(200, "Symbol not defined");
  public static final StdErrors Illegal_access_to_private_slot = new StdErrors(201, "Illegal access to private slot");
  public static final StdErrors Object_required = new StdErrors(202, "Object required");
  public static final StdErrors Immutable_symbol_already_defined = new StdErrors(203, "Immutable or immuable symbol already defined");
  public static final StdErrors Immutable_symbol_required = new StdErrors(204, "Immutable symbol required");
  public static final StdErrors Symbol_required = new StdErrors(205, "Symbol required");
  public static final StdErrors Illegal_access_to_final_value = new StdErrors(206, "Illegal access to final value");
  public static final StdErrors Use_Once_symbol_unreaded = new StdErrors(207, "Use-Once symbol unreaded");
  public static final StdErrors Local_symbol_required = new StdErrors(208, "Local symbol required");
  public static final StdErrors Illegal_access_to_register = new StdErrors(209, "Illegal access to register");
  public static final StdErrors Symbol_already_exists = new StdErrors(210, "Symbol already exists");
    public static final StdErrors Value_required = new StdErrors(211, "Value required");
    public static final StdErrors Illegal_access_to_matching_symbol = new StdErrors(212, "Illegal access to matching symbol");
    public static final StdErrors Type_mismatch = new StdErrors(213, "Type mismatch");
    public static final StdErrors Delegable_object_required = new StdErrors(214, "Delegable object required");
 
  public static final StdErrors Division_by_zero = new StdErrors(300, "Division by zero");
  public static final StdErrors Arithmetic_error = new StdErrors(301, "Arithmetic error");
  public static final StdErrors Regex_error = new StdErrors(302, "Regex error");
 
  public static final StdErrors List_size_mismatch = new StdErrors(400, "List size mismatch");
  public static final StdErrors Not_found = new StdErrors(401, "Not Found");
  public static final StdErrors Out_of_range = new StdErrors(402, "Out of range");
  public static final StdErrors Already_used = new StdErrors(403, "Already use");
  public static final StdErrors Empty_list = new StdErrors(404, "Empty list");
  public static final StdErrors Empty_string = new StdErrors(405, "Empty string");
    public static final StdErrors Invalid_pair = new StdErrors(450, "Invalid pair");

    public static final StdErrors Thread_error = new StdErrors(500, "Actor Error");
    public static final StdErrors Illegal_operation_in_mutex_section = new StdErrors(501, "Illegal operation in mutex section");
    public static final StdErrors An_actor_can_not_resume_himself = new StdErrors(502, "An actor can not resume himself");
    public static final StdErrors Actor_not_found = new StdErrors(503, "Actor not found");
    public static final StdErrors An_actor_can_not_kill_himself = new StdErrors(504, "An actor can not kill himself");
    public static final StdErrors An_actor_can_not_kill_supervisor = new StdErrors(505, "An actor can not kill supervisor");
    public static final StdErrors Illegal_operation_in_critical_section = new StdErrors(506, "Illegal operation in critical section");
    public static final StdErrors Critical_section_locking_fail = new StdErrors(507, "Critical section locking fail");
    public static final StdErrors Deadlock_error = new StdErrors(508, "Deadlock Error");
    public static final StdErrors Illegal_operation_outside_pending_section = new StdErrors(509, "Illegal operation outside pending section");
    public static final StdErrors Concurrent_access_to_locked_data = new StdErrors(510, "Concurrent access to locked data");
    public static final StdErrors Concurrent_access_rights_mismatch = new StdErrors(511, "Concurrent access rights mismatch");
    public static final StdErrors Exclusive_lock_needed = new StdErrors(511, "Exclusive lock needed");
   
  public static final StdErrors Object_not_serializable = new StdErrors(1000, "Object not serializable");
  public static final StdErrors Object_not_clonable = new StdErrors(1001, "Object not clonable");
  public static final StdErrors Object_not_comparable = new StdErrors(1002, "Object not comparable");
  public static final StdErrors Object_not_equalisable = new StdErrors(1003, "Object not equalisable");
  public static final StdErrors Cannot_be_inherited = new StdErrors(1004, "Can not be inherited");
  public static final StdErrors Cannot_parse_class = new StdErrors(1005, "Can not parse class");
  public static final StdErrors Extends_Derived_Object = new StdErrors(1006, "Extends derived object");
    public static final StdErrors Transform_Parent_Object = new StdErrors(1007, "Transform parent object");
    public static final StdErrors Abstract_misplaced = new StdErrors(1008, "abstract misplaced");
   
  public static final StdErrors Void_return_results = new StdErrors(2000, "Void return results");
 
  public static final StdErrors Circulare_reference = new StdErrors(3000, "Circulare reference");
 
  public static final StdErrors Function_required = new StdErrors(4000, "Function required");
    public static final StdErrors Memoize_required = new StdErrors(4010, "Memoize required");
    public static final StdErrors Memoizable_argument_required = new StdErrors(4011, "Memoizable argument required");

  public static final StdErrors Internal_error = new StdErrors(10000, "Internal error");
  public static final StdErrors External_error = new StdErrors(10001, "External error");

  public static final StdErrors Library_error = new StdErrors(20000, "Library error");
  public static final StdErrors Library_not_found = new StdErrors(20001, "Library not found");

   
  public static final StdErrors Module_error = new StdErrors(21000, "Module error");
  public static final StdErrors Cannot_import_module = new StdErrors(21001, "cannot import module");
    public static final StdErrors Module_not_defined = new StdErrors(21002, "Module not defined");
    public static final StdErrors Module_already_defined = new StdErrors(21003, "Module already defined");
   
  public static final StdErrors Resource_error = new StdErrors(22000, "Resource error");
  public static final StdErrors Resource_not_found = new StdErrors(22001, "Resource not found");

  public static final StdErrors Key_not_found = new StdErrors(30000, "Key not found");
    public static final StdErrors Associative_key_already_used = new StdErrors(30001, "Associative key already used");

  public static final StdErrors Require_assertion = new StdErrors(40000, "Require assertion");
  public static final StdErrors Invariants_not_defined = new StdErrors(40100, "Invariants not defined");
    public static final StdErrors Require_contract = new StdErrors(40101, "Require contract");
  public static final StdErrors Assertion = new StdErrors(40200, "Assertion exception");
  public static final StdErrors Timed_expired_exception = new StdErrors(40201, "Time expired exception");
    public static final StdErrors Raise_exception = new StdErrors(40203, "Raise exception");

  public static final StdErrors Quote_encoded_error = new StdErrors(50000, "Quote-encoded error");
  public static final StdErrors Invalid_symbol = new StdErrors(50001, "Invalid symbol");
  public static final StdErrors Illegal_unquoted_code = new StdErrors(50002, "Illegal unquoted code");
    public static final StdErrors Operating_symbol_error = new StdErrors(50003, "Operating symbol error");


}
TOP

Related Classes of abstrasy.interpreter.StdErrors

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.