Package org.eclipse.imp.pdb.facts

Examples of org.eclipse.imp.pdb.facts.IList


  public void initElem(IFigureConstructionEnv env, MouseOver mparent, boolean swtSeen, boolean visible, NameResolver resolver){
    if(innerFig != null){
      innerFig.destroy(env);
    }
    TypeFactory tf = TypeFactory.getInstance();
    IList originalsL = VF.list(originals.toArray(tmpArray));
    IConstructor figureCons = (IConstructor) env.getCallBackEnv().executeRascalCallBackSingleArgument(whole,tf.listType(tf.valueType()),originalsL).getValue();
    innerFig = FigureFactory.make(env, figureCons, prop, childProps);
    innerFig.registerIds(env, resolver);
    innerFig.registerConverts(resolver);
    setInnerFig( innerFig);
View Full Code Here


    int i = 0;
   
    for (IValue prod : robust) {
      robustProds[i] = (IConstructor) prod;
      List<Integer> chars = new LinkedList<Integer>();
      IList ranges = (IList) robust.get(prod);
     
      for (IValue range : ranges) {
        int from = ((IInteger) ((IConstructor) range).get("begin")).intValue();
        int to = ((IInteger) ((IConstructor) range).get("end")).intValue();
       
View Full Code Here

//        return tree.asAnnotatable().setAnnotation("can not parse fragment due to " + e.getMessage(), src);
//      }
    }
   
    private char[] replaceAntiQuotesByHoles(IConstructor lit, Map<String, IConstructor> antiquotes) {
      IList parts = TreeAdapter.getArgs(lit);
      StringBuilder b = new StringBuilder();
     
      for (IValue elem : parts) {
        IConstructor part = (IConstructor) elem;
        String cons = TreeAdapter.getConstructorName(part);
View Full Code Here

        @Override
        public IConstructor visitTreeAppl(IConstructor tree)  {
          String cons = TreeAdapter.getConstructorName(tree);
          if (cons == null || !cons.equals("$MetaHole") ) {
            IListWriter w = vf.listWriter();
            IList args = TreeAdapter.getArgs(tree);
            for (IValue elem : args) {
              w.append(elem.accept(this));
            }
            args = w.done();
View Full Code Here

    if (g != null)
      s += (File.separator + g.getValue());
    InputStreamReader a = new InputStreamReader(getClass()
        .getResourceAsStream(s));
    try {
      IList r = readLines(a);
      // System.out.println(r);
      return r;
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
View Full Code Here

  public IValue getRascalFileContent(ISourceLocation g) {
    FileReader a = null;
    try {
      a = new FileReader(g.getURI().getPath());
      IList r = readLines(a, "`", "\"", "\"", "\\\\\"", "<", "\\\\<",
          ">", "\\\\>");
      // System.out.println(((IString) r.get(0)).getValue());
      return r.get(0);
    } catch (FileNotFoundException fnfex) {
      throw RuntimeExceptionFactory.pathNotFound(g, null, null);
    } catch (IOException ioex) {
      throw RuntimeExceptionFactory.io(values.string(ioex.getMessage()),
          null, null);
View Full Code Here

      Result<IValue> value = stat.interpret(__eval);
      if (!value.getType().isList()) {
        throw new ImplementationError(
            "template eval returns non-list");
      }
      IList list = (IList) value.getValue();
      if (list.length() == 0) {
        System.out.println("bla");
      }

      if (!list.get(0).getType().isString()) {
        throw new ImplementationError(
            "template eval returns list with non-string");
      }
     
      return ResultFactory.makeResult(TF.stringType(), list.get(0), __eval);
     
//      // todo: concat not needed anymore, because of appendString in Accumulator.
//      // list is always non-empty
//      Result<IValue> s = ResultFactory.makeResult(TF.stringType(),
//          list.get(0), __eval);
View Full Code Here

    return RascalTypeFactory.getInstance().functionType(returnType, parameters, tf.voidType());
  }

  private Type consToType(IConstructor symbol, TypeStore store) {
    Type adt = symbolToType((IConstructor) symbol.get("adt"), store);
    IList parameters = (IList) symbol.get("parameters");
    String name = ((IString) symbol.get("name")).getValue();
    Type tupleType = symbolsToTupleType(parameters, store);
    Type t = tf.constructorFromTuple(store, adt, name, tupleType);
    return t;
   
View Full Code Here

  }

  private Type aliasToType(IConstructor symbol, TypeStore store) {
    String name = ((IString) symbol.get("name")).getValue();
    Type aliased = symbolToType((IConstructor) symbol.get("aliased"), store);
    IList parameters = (IList) symbol.get("parameters");
   
    if (parameters.isEmpty()) {
      return tf.aliasType(store, name, aliased);
    }
    else {
      return tf.aliasTypeFromTuple(store, name, aliased, symbolsToTupleType(parameters, store));
    }
View Full Code Here

    try{
      boolean isListRel = rel instanceof IList;
      out = new UnicodeOutputStreamWriter(rex.getResolverRegistry().getOutputStream(loc.getURI(), false), encoding.getValue(), false);
      out = new BufferedWriter(out); // performance
      ISet irel = null;
      IList lrel = null;
      if (isListRel) {
        lrel = (IList)rel;
      }
      else {
        irel = (ISet) rel;
      }
     
      int nfields = isListRel ? lrel.asRelation().arity() : irel.asRelation().arity();
      if(head){
        for(int i = 0; i < nfields; i++){
          if(i > 0)
            out.write(sep);
          String label = paramType.getFieldName(i);
View Full Code Here

TOP

Related Classes of org.eclipse.imp.pdb.facts.IList

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.