Package org.eclipse.imp.pdb.facts

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


    if (maxDepth <= 0 || (stRandom.nextInt(2) == 0)) {
      return writer.done();
    } else {
      RandomValueTypeVisitor visitor = descend();
      IValue element = visitor.generate(type.getElementType());
      if (element != null) {
        writer.append(element);
      }
      writer.appendAll((IList) visitor.generate(type));
      return writer.done();
View Full Code Here


    if (maxDepth <= 0 || (stRandom.nextInt(2) == 0)) {
      return writer.done();
    } else {

      RandomValueTypeVisitor visitor = descend();
      IValue key = visitor.generate(type.getKeyType());
      IValue value = visitor.generate(type.getValueType());

      if (key != null && value != null) {
        writer.put(key, value);
      }
View Full Code Here

        while (name.isEmpty()) {
          // names have to start with alpha character
          name = RandomUtil.stringAlpha(stRandom, 3);
        }
        name += RandomUtil.stringAlphaNumeric(stRandom, 4);
        IValue argument = descend().generate(tf.valueType());
        if (argument == null) {
          return null;
        }
        kwParams.put(name, argument);
      }
View Full Code Here

    RandomValueTypeVisitor visitor = descend();

    IValue[] elems = new IValue[type.getArity()];
    for (int i = 0; i < type.getArity(); i++) {
      Type fieldType = type.getFieldType(i);
      IValue element = visitor.generate(fieldType);
      if (element == null) {
        return null;
      }
      elems[i] = visitor.generate(fieldType);
    }
View Full Code Here

  protected IValueList parseExtendedModifiers(List ext) {
    IValueList extendedModifierList = new IValueList(values);
 
    for (Iterator it = ext.iterator(); it.hasNext();) {
      ASTNode p = (ASTNode) it.next();
      IValue val = visitChild(p);
      if (p instanceof Annotation) {
        val = constructModifierNode("annotation", val);
      }
      extendedModifierList.add(val);
    }
View Full Code Here

 

  private void handleKey(KeyEvent e,boolean down){
    boolean captured = false;
    env.beginCallbackBatch();
    IValue keySym = KeySymTranslate.toRascalKey(e, env.getRascalContext());
    keyboardModifierMap = KeySymTranslate.toRascalModifiers(e.stateMask, keyboardModifierMap, env.getRascalContext());
    for(Figure fig : figuresUnderMouse){
      if(fig.executeKeyHandlers(env, keySym, down, keyboardModifierMap)){
        captured = true;
        break;
View Full Code Here

    if ( (idx >= getValue().arity()) || (idx < 0)) {
      throw RuntimeExceptionFactory.indexOutOfBounds(index, ctx.getCurrentAST(), ctx.getStackTrace());
    }
   
    Type elementType = getType().getFieldType(idx);
    IValue element = getValue().get(idx);
    return makeResult(elementType, element, ctx);
  }
View Full Code Here

    int rightArity = rightType.getArity();
    int newArity = leftArity + rightArity;
   
    Type fieldTypes[] = new Type[newArity];
    String fieldNames[] = new String[newArity];
    IValue fieldValues[] = new IValue[newArity];
   
    boolean consistentLabels = true;
    for(int i = 0; i < leftArity; i++){
      fieldTypes[i] = leftType.getFieldType(i);
      fieldNames[i] = leftType.getFieldName(i);
View Full Code Here

    int leftArity = left.arity();
    ITuple right = getValue();
    int rightArity = right.arity();
   
    for (int i = 0; i < Math.min(leftArity, rightArity); i++) {
       IValue leftArg = left.get(i);
       IValue rightArg = right.get(i);
       LessThanOrEqualResult loe = makeResult(leftArg.getType(), leftArg, ctx).lessThanOrEqual(makeResult(rightArg.getType(), rightArg,ctx));
      
       if (loe.getLess()) {
         return loe;
       }
      
View Full Code Here

          IConstructor prod = TreeAdapter.getProduction(tree);
          ISet attrs = ProductionAdapter.getAttributes(prod);

          for (IValue attr : attrs) {
            if (((IConstructor) attr).getConstructorType() == Factory.Attr_Tag) {
              IValue arg = ((IConstructor) attr).get(0);
             
              if (arg.getType().isNode() && ((INode) arg).getName().equals("holeType")) {
                return (IConstructor) ((INode) arg).get(0);
              }
            }
          }
         
          throw new ImplementationError("expected to find a holeType, but did not: " + tree);
        }

        @Override
        public IConstructor visitTreeAmb(IConstructor arg)  {
          ISetWriter w = vf.setWriter();
          for (IValue elem : TreeAdapter.getAlternatives(arg)) {
            w.insert(elem.accept(this));
          }
          return arg.set("alternatives", w.done());
        }
      });
  }
View Full Code Here

TOP

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

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.