Skip to content

Commit

Permalink
blockcall update
Browse files Browse the repository at this point in the history
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@22382 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
Olena Rogovchenko committed Sep 21, 2014
1 parent e46df41 commit a255463
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 7 deletions.
8 changes: 4 additions & 4 deletions Compiler/Script/BlockCallRewrite.bootstrapped.mo
Expand Up @@ -116,7 +116,7 @@ algorithm
equation
(nclsp, eqs, elems) = parseClassParts(classParts, defs, {}, {}, 0);
then
Absyn.PARTS(typeVars, classAttrs, Absyn.EQUATIONS(eqs)::Absyn.PUBLIC(elems)::nclsp, ann, comment);
Absyn.PARTS(typeVars, classAttrs, Absyn.PUBLIC(elems)::Absyn.EQUATIONS(eqs)::nclsp, ann, comment);
end match;
end parseClassDef;

Expand Down Expand Up @@ -455,7 +455,7 @@ algorithm
elem = Absyn.ELEMENTITEM(Absyn.ELEMENT(false, NONE(), Absyn.NOT_INNER_OUTER(), Absyn.COMPONENTS(Absyn.ATTR(false, false, Absyn.NON_PARALLEL(), Absyn.VAR(), Absyn.BIDIR(), {}), Absyn.TPATH(Absyn.IDENT(id), NONE()),
{Absyn.COMPONENTITEM(Absyn.COMPONENT(elName,{}, SOME(Absyn.CLASSMOD(mods, Absyn.NOMOD()))), NONE(), NONE())}), Absyn.dummyInfo, NONE()));

then (Absyn.CREF(Absyn.CREF_IDENT(elName+".out", {})), eqs, elem::oldElems, count);
then (Absyn.CREF(Absyn.CREF_QUAL(elName, {}, Absyn.CREF_IDENT("out", {}))), eqs, elem::oldElems, count);

case(Absyn.CALL(crf, fargs))
then (Absyn.CALL(crf,fargs), oldEqs, {}, instNo);
Expand Down Expand Up @@ -769,7 +769,7 @@ algorithm
case({}, _) then (oldEqs, args);
case(Absyn.COMPONENTITEM(Absyn.COMPONENT(cName,_,_), _, _) :: r_comps, arg::r_args)
equation
eq = Absyn.EQUATIONITEM(Absyn.EQ_EQUALS(Absyn.CREF(Absyn.CREF_IDENT(elemId + "." + cName, {})), arg), NONE(), Absyn.dummyInfo);
eq = Absyn.EQUATIONITEM(Absyn.EQ_EQUALS(Absyn.CREF(Absyn.CREF_QUAL(elemId, {}, Absyn.CREF_IDENT(cName, {}))), arg), NONE(), Absyn.dummyInfo);
then
matchVarArgs(elemId, r_args, r_comps, eq::oldEqs);

Expand Down Expand Up @@ -937,7 +937,7 @@ algorithm
case(Absyn.COMPONENTITEM(Absyn.COMPONENT(cName,_,_), _, _) :: r_comps)
equation
(cName == argName) = true;
eq = Absyn.EQUATIONITEM(Absyn.EQ_EQUALS(Absyn.CREF(Absyn.CREF_IDENT(elemId + "." + cName, {})), argValue), NONE(), Absyn.dummyInfo);
eq = Absyn.EQUATIONITEM(Absyn.EQ_EQUALS(Absyn.CREF(Absyn.CREF_QUAL(elemId, {}, Absyn.CREF_IDENT(cName, {}))), argValue), NONE(), Absyn.dummyInfo);
then
(eq::oldEqs, true);
case(_ :: r_comps)
Expand Down
7 changes: 4 additions & 3 deletions Compiler/Script/CevalScript.mo
Expand Up @@ -1180,7 +1180,7 @@ algorithm
then (cache, Values.BOOL(false), st);

case (cache,_, "rewriteBlockCall",{Values.CODE(Absyn.C_TYPENAME(classpath)), Values.CODE(Absyn.C_TYPENAME(path))},
(GlobalScript.SYMBOLTABLE(
(st as GlobalScript.SYMBOLTABLE(
p as Absyn.PROGRAM(globalBuildTimes=ts),instClsLst = ic, lstVarVal = iv,compiledFunctions = cf,
loadedFiles = lf)),_)
equation
Expand All @@ -1189,9 +1189,10 @@ algorithm
absynClass = Interactive.getPathedClassInProgram(classpath, p);
within_ = Interactive.buildWithin(classpath);
pnew = BlockCallRewrite.rewriteBlockCall(Absyn.PROGRAM({absynClass}, within_,ts), (Absyn.PROGRAM(classes, within_,ts)));
newp = Interactive.updateProgram(pnew, p);
pnew = Interactive.updateProgram(pnew, p);
newst = Interactive.setSymbolTableAST(st, pnew);
then
(cache,Values.BOOL(true),GlobalScript.SYMBOLTABLE(newp,NONE(),ic,iv,cf,lf));
(Env.emptyCache(),Values.BOOL(true), newst);

case (cache, _, "rewriteBlockCall", _, st, _)
then (cache, Values.BOOL(false), st);
Expand Down

0 comments on commit a255463

Please sign in to comment.