Package erjang

Examples of erjang.ESeq


      } catch (Throwable e) {

        e.printStackTrace();

        ESeq erl_trace = ErlangError.decodeTrace(e.getStackTrace());
        ETuple java_ex = ETuple.make(am_java_exception, EString
            .fromString(ERT.describe_exception(e)));

        result = ETuple.make(java_ex, erl_trace);
       
View Full Code Here


    output_term_from_driver_b(new ETuple2(port, new ETuple2(am_exit_status, ERT.box(code))));
  }

  public static ESeq all_ports() {
   
    ESeq res = ERT.NIL;
    for (EDriverTask dt : all_ports.values()) {
      if (dt.isDone()) continue;
      res = res.cons(dt.self_handle());
    }

    return res;
  }
View Full Code Here

  @BIF
 
  static public EPID list_to_pid(EObject obj) {
    ECons list;
    if ((list = obj.testCons()) != null) {
      ESeq s = EString.make(list);
      return ERT.loopkup_pid(s);
    }
    throw ERT.badarg(obj);
  }
View Full Code Here

  }

  @BIF
 
  static public EObject error(EObject reason, EObject args) {
    ESeq aseq = args.testSeq();
    if (aseq == null) throw ERT.badarg(reason, args);
    throw new ErlangError(reason, aseq.toArray());
  }
View Full Code Here

  @BIF
 
  static public ESeq get_module_info(EObject mod) {
    // TODO: get all the attributes from the beam code
    ESeq res = ERT.NIL;
    res = res.cons(new ETuple2(ERT.am_compile,
           get_module_info(mod, ERT.am_compile)));

    res = res.cons(new ETuple2(ERT.am_attributes,
           get_module_info(mod, ERT.am_attributes)));

    res = res.cons(new ETuple2(ERT.am_exports,
           get_module_info(mod, ERT.am_exports)));

    return res;
  }
View Full Code Here

    "zlib"
  };
 
  @BIF
  public static ESeq pre_loaded() {
    ESeq res = ERT.NIL;
    for (int i = 0; i < PRE_LOADED_MODULES.length; i++) {
      res = res.cons(EAtom.intern(PRE_LOADED_MODULES[i]));
    }
    return res;
  }
View Full Code Here

    return null;
  }

  @BIF
  static public EInteger length(EObject list) {
    ESeq seq;
    if ((seq = list.testSeq()) != null) {
      return ERT.box(seq.length());
    }
    throw ERT.badarg(list);
  }
View Full Code Here

//    return list.length();
//  }

  @BIF(name = "length", type = Type.GUARD)
  static public ESmall length$p(EObject list) {
    ESeq seq;
    if ((seq = list.testSeq()) != null) {
      return ERT.box(seq.length());
    }
    return null;
  }
View Full Code Here

  }

  @BIF(name = "++")
  public static EObject append(EObject l1, EObject l2) {
   
    ESeq ll1 = l1.testSeq();
    if (ll1 == null) throw ERT.badarg(l1, l2);
   
    return l2.prepend(ll1);
  }
View Full Code Here

  @BIF
  public static EObject raise(EObject kind, EObject value, EObject trace)
      throws ErlangException {

    EAtom clazz = kind.testAtom();
    ESeq traz = trace.testSeq();

    if (traz == null) {
//      System.err.println("bad argument to raise3: ("+kind+", "+value+", "+trace+")");
      return ERT.am_badarg;
    }
View Full Code Here

TOP

Related Classes of erjang.ESeq

Copyright © 2018 www.massapicom. 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.