Examples of RascalTypeFactory


Examples of org.rascalmpl.interpreter.types.RascalTypeFactory

      super(__param1, __param3, __param2, __param4, __param5);
    }

    @Override
    public Type typeOf(Environment env, boolean instantiateTypeParameters, IEvaluator<Result<IValue>> eval) {
      RascalTypeFactory RTF = org.rascalmpl.interpreter.types.RascalTypeFactory
          .getInstance();
      Parameters parameters = getParameters();
      Type kwParams = TF.voidType();

      if (parameters.hasKeywordFormals() && parameters.getKeywordFormals().hasKeywordFormalList()) {
        List<KeywordFormal> kwd = parameters.getKeywordFormals().getKeywordFormalList();
        kwParams = TypeDeclarationEvaluator.computeKeywordParametersType(kwd, eval);
      }

      return RTF.functionType(getType().typeOf(env, instantiateTypeParameters, eval), parameters.typeOf(env, instantiateTypeParameters, eval), kwParams);
    }
View Full Code Here

Examples of org.rascalmpl.interpreter.types.RascalTypeFactory

      super(__param1, __param3, __param2, __param4, __param5, __param6);
    }

    @Override
    public Type typeOf(Environment env, boolean instantiateTypeParameters, IEvaluator<Result<IValue>> eval) {
      RascalTypeFactory RTF = RascalTypeFactory.getInstance();

      Type kwParams = TF.voidType();

      Parameters parameters = getParameters();

      if (parameters.hasKeywordFormals() && parameters.getKeywordFormals().hasKeywordFormalList()) {
        List<KeywordFormal> kwd = parameters.getKeywordFormals().getKeywordFormalList();
        kwParams = TypeDeclarationEvaluator.computeKeywordParametersType(kwd, eval);
      }

      return RTF.functionType(getType().typeOf(env, instantiateTypeParameters, eval), getParameters()
          .typeOf(env, instantiateTypeParameters, eval), kwParams);
    }
View Full Code Here

Examples of org.rascalmpl.interpreter.types.RascalTypeFactory

      eval.setCurrentAST(this);
      eval.notifyAboutSuspension(this);     

      Parameters parameters = getParameters();
      Type formals = parameters.typeOf(eval.getCurrentEnvt(), true, eval);
      RascalTypeFactory RTF = RascalTypeFactory.getInstance();

      Type kwParams = TF.voidType();
      java.util.List<KeywordFormal> kws = parameters.getKeywordFormals().hasKeywordFormalList() ? parameters.getKeywordFormals().getKeywordFormalList() : Collections.<KeywordFormal>emptyList();
     
      if (parameters.hasKeywordFormals() && parameters.getKeywordFormals().hasKeywordFormalList()) {
        kwParams = TypeDeclarationEvaluator.computeKeywordParametersType(kws, eval);
      }

      return new RascalFunction(this, eval, null, (FunctionType) RTF
          .functionType(TF.voidType(), formals, kwParams), kws, this.getParameters()
          .isVarArgs(), false, false, this.getStatements0(), eval
          .getCurrentEnvt(), eval.__getAccumulators());
    }
View Full Code Here

Examples of org.rascalmpl.interpreter.types.RascalTypeFactory

    return call(qualifiedName, kwArgs, args);
  }
 
  public IValue call(QualifiedName qualifiedName, Map<String,IValue> kwArgs, IValue... args) {
    OverloadedFunction func = (OverloadedFunction) getCurrentEnvt().getVariable(qualifiedName);
    RascalTypeFactory rtf = RascalTypeFactory.getInstance();
   
    Type[] types = new Type[args.length];

    int i = 0;
    for (IValue v : args) {
      Type type = v.getType();
      types[i++] = type.isSubtypeOf(Factory.Tree) ? rtf.nonTerminalType((IConstructor) v) : type;
    }
   
    if (func == null) {
      throw new UndeclaredFunction(Names.fullName(qualifiedName), types, this, getCurrentAST());
    }
View Full Code Here

Examples of org.rascalmpl.interpreter.types.RascalTypeFactory

      Environment env = __eval.getCurrentEnvt();
      Parameters parameters = getParameters();
      Type formals = parameters.typeOf(env, true, __eval);
      Type returnType = typeOf(env, true, __eval);
      RascalTypeFactory RTF = RascalTypeFactory.getInstance();

      Type kwParams = TF.voidType();

      java.util.List<KeywordFormal> kwd = parameters.getKeywordFormals().hasKeywordFormalList() ? parameters.getKeywordFormals().getKeywordFormalList() : Collections.<KeywordFormal>emptyList();
     
      if (parameters.hasKeywordFormals() && parameters.getKeywordFormals().hasKeywordFormalList()) {
        kwParams = TypeDeclarationEvaluator.computeKeywordParametersType(kwd, __eval);
      }

      return new RascalFunction(this, __eval, null,
          (FunctionType) RTF.functionType(returnType, formals, kwParams),
          kwd,
          this.getParameters()
          .isVarArgs(), false, false, this.getStatements(), env, __eval.__getAccumulators());
    }
View Full Code Here
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.