Skip to content

Commit

Permalink
- Load builtins in new instantiation.
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@18429 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
perost committed Dec 6, 2013
1 parent 258a82c commit 76c4c63
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
6 changes: 3 additions & 3 deletions Compiler/FrontEnd/NFEnv.mo
Original file line number Diff line number Diff line change
Expand Up @@ -1110,16 +1110,16 @@ end setScopePrefixOpt;

public function buildInitialEnv
input SCode.Program inProgram;
input SCode.Program inBuiltin;
output Env outEnv;
protected
Env env;
SCode.Program prog, builtin;
algorithm
env := openScope(NONE(), NFInstTypes.BUILTIN_SCOPE(), emptyEnv);
(builtin, prog) := List.splitOnTrue(inProgram, SCode.isBuiltinElement);
env := List.fold1(builtin, insertElementWithOrigin, {NFInstTypes.BUILTIN_ORIGIN()}, env);
env := List.fold1(inBuiltin, insertElementWithOrigin, {NFInstTypes.BUILTIN_ORIGIN()}, env);
env := openScope(NONE(), NFInstTypes.TOP_SCOPE(), env);
outEnv := List.fold(prog, insertElement, env);
outEnv := List.fold(inProgram, insertElement, env);
end buildInitialEnv;

end NFEnv;
9 changes: 6 additions & 3 deletions Compiler/Script/CevalScript.mo
Original file line number Diff line number Diff line change
Expand Up @@ -3308,9 +3308,9 @@ algorithm
Absyn.Class absynClass;
String str,re;
Option<SCode.Program> fp;
SCode.Program scodeP, scodePNew;
SCode.Program scodeP, scodePNew, scode_builtin;
list<GlobalScript.InstantiatedClass> ic,ic_1;
Absyn.Program p,ptot;
Absyn.Program p,ptot,p_builtin;
list<GlobalScript.Variable> iv;
list<GlobalScript.CompiledCFunction> cf;
list<GlobalScript.LoadedFile> lf;
Expand Down Expand Up @@ -3345,7 +3345,10 @@ algorithm
// remove extends Modelica.Icons.*
//scodeP = SCodeSimplify.simplifyProgram(scodeP);

nfenv = NFEnv.buildInitialEnv(scodeP);
p_builtin = Builtin.getInitialFunctions();
scode_builtin = SCodeUtil.translateAbsyn2SCode(p_builtin);

nfenv = NFEnv.buildInitialEnv(scodeP, scode_builtin);
(dae, funcs) = NFInst.instClass(className, nfenv);

cache = Env.emptyCache();
Expand Down

0 comments on commit 76c4c63

Please sign in to comment.