Package wyvern.tools.typedAST.core.values

Examples of wyvern.tools.typedAST.core.values.Obj


  @Override
  public void evalDecl(Environment evalEnv, Environment declEnv) {
    if (declEvalEnv == null)
      declEvalEnv = declEnv.extend(evalEnv);
    Obj classObj = new Obj(getClassEnv(evalEnv));
   
    ValueBinding vb = (ValueBinding) declEnv.lookup(nameBinding.getName());
    vb.setValue(classObj);
  }
View Full Code Here


    return decls;
  }

  public Obj getClassObj() {
    initalize();
    return new Obj(getClassEnv(Environment.getEmptyEnvironment()));
  }
View Full Code Here

        .map(MetadataInnerBinding::getInnerEnv).orElse(Environment.getEmptyEnvironment());

    Environment metaEnv = Globals.getStandardEnv().extend(TypeDeclaration.attrEvalEnv).extend(extMetaEnv);
    metadata.get().map(obj->obj.typecheck(metaEnv, Optional.<Type>empty()));

    metadataObj.set(metadata.get().map(obj -> obj.evaluate(metaEnv)).orElse(new Obj(Environment.getEmptyEnvironment())));
  }
View Full Code Here

  @Override
  public void evalDecl(Environment evalEnv, Environment declEnv) {
    ValueBinding selfBinding = (ValueBinding) declEnv.lookup(name);
    Environment objEnv = Environment.getEmptyEnvironment();
    Value selfV = new Obj(inner.evalDecl(objEnv));
    selfBinding.setValue(selfV);
  }
View Full Code Here

    Environment evalEnv = env.extend(new LateValueBinding("this", objRef, ct));
    classDecl.evalDecl(evalEnv, classDecl.extendWithValue(Environment.getEmptyEnvironment()));
    final Environment ideclEnv = StreamSupport.stream(seq.getDeclIterator().spliterator(), false).
        reduce(evalEnv, (oenv,decl)->(decl instanceof ClassDeclaration)?decl.evalDecl(oenv):oenv, Environment::extend);
    Environment objenv = seq.bindDecls(ideclEnv, seq.extendWithDecls(classDecl.getFilledBody(objRef)));
    objRef.set(new Obj(objenv.extend(argValEnv)));
   
    // System.out.println("Finished evaluating new: " + this);
   
    return objRef.get();
  }
View Full Code Here

TOP

Related Classes of wyvern.tools.typedAST.core.values.Obj

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.