Skip to content

Commit

Permalink
Remove TypeSource for T_COMPLEX
Browse files Browse the repository at this point in the history
  • Loading branch information
sjoelund authored and OpenModelica-Hudson committed Jan 25, 2017
1 parent 94b2cb3 commit 1ca1591
Show file tree
Hide file tree
Showing 18 changed files with 60 additions and 71 deletions.
8 changes: 4 additions & 4 deletions Compiler/BackEnd/BackendVariable.mo
Expand Up @@ -1460,8 +1460,8 @@ algorithm
BackendDAE.VarKind varKind;

case (_) guard(ComponentReference.traverseCref(inCref, ComponentReference.crefIsRec, false)) equation
DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path), source=typeLst) = inType;
source = DAE.SOURCE(Absyn.dummyInfo, {}, Prefix.NOCOMPPRE(), {}, path::typeLst, {}, {});
DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path)) = inType;
source = DAE.SOURCE(Absyn.dummyInfo, {}, Prefix.NOCOMPPRE(), {}, {path}, {}, {});
varKind = if Types.isDiscreteType(inType) then BackendDAE.DISCRETE() else BackendDAE.VARIABLE();
outVar = BackendDAE.VAR(inCref, varKind, DAE.BIDIR(), DAE.NON_PARALLEL(), inType, NONE(), {}, source, NONE(), NONE(), DAE.BCONST(false), NONE(), DAE.NON_CONNECTOR(), DAE.NOT_INNER_OUTER(), true);
then outVar;
Expand Down Expand Up @@ -1540,8 +1540,8 @@ algorithm
BackendDAE.VarKind varKind;

case (_) guard(ComponentReference.traverseCref(inCref, ComponentReference.crefIsRec, false)) equation
DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path), source=typeLst) = inType;
source = DAE.SOURCE(Absyn.dummyInfo, {}, Prefix.NOCOMPPRE(), {}, path::typeLst, {}, {});
DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path)) = inType;
source = DAE.SOURCE(Absyn.dummyInfo, {}, Prefix.NOCOMPPRE(), {}, {path}, {}, {});
varKind = if Types.isDiscreteType(inType) then BackendDAE.DISCRETE() else BackendDAE.VARIABLE();
outVar = BackendDAE.VAR(inCref, varKind, DAE.BIDIR(), DAE.NON_PARALLEL(), inType, NONE(), inArryDim, source, NONE(), NONE(), DAE.BCONST(false), NONE(), DAE.NON_CONNECTOR(), DAE.NOT_INNER_OUTER(), true);
then outVar;
Expand Down
5 changes: 2 additions & 3 deletions Compiler/FrontEnd/DAE.mo
Expand Up @@ -839,8 +839,8 @@ constant Type T_ANYTYPE_DEFAULT = T_ANYTYPE(NONE());
constant Type T_UNKNOWN_DEFAULT = T_UNKNOWN();
constant Type T_NORETCALL_DEFAULT = T_NORETCALL();
constant Type T_METATYPE_DEFAULT = T_METATYPE(T_UNKNOWN_DEFAULT);
constant Type T_COMPLEX_DEFAULT = T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE(), emptyTypeSource) "default complex with unknown CiState";
constant Type T_COMPLEX_DEFAULT_RECORD = T_COMPLEX(ClassInf.RECORD(Absyn.IDENT("")), {}, NONE(), emptyTypeSource) "default complex with record CiState";
constant Type T_COMPLEX_DEFAULT = T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE()) "default complex with unknown CiState";
constant Type T_COMPLEX_DEFAULT_RECORD = T_COMPLEX(ClassInf.RECORD(Absyn.IDENT("")), {}, NONE()) "default complex with record CiState";

constant Type T_SOURCEINFO_DEFAULT_METARECORD = T_METARECORD(Absyn.QUALIFIED("SourceInfo",Absyn.IDENT("SOURCEINFO")), Absyn.IDENT("SourceInfo"), {}, 1, {
TYPES_VAR("fileName", dummyAttrVar, T_STRING_DEFAULT, UNBOUND(), NONE()),
Expand Down Expand Up @@ -909,7 +909,6 @@ public uniontype Type "models the different front-end and back-end types"
ClassInf.State complexClassType "The type of a class";
list<Var> varLst "The variables of a complex type";
EqualityConstraint equalityConstraint;
TypeSource source;
end T_COMPLEX;

record T_SUBTYPE_BASIC
Expand Down
4 changes: 2 additions & 2 deletions Compiler/FrontEnd/DAEDump.mo
Expand Up @@ -2470,15 +2470,15 @@ algorithm
DAE.Type bc_tp, ty;
list<DAE.Dimension> dims;

case DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), source = {path})
case DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path))
equation
name = Absyn.pathStringNoQual(path);
then
name;

case DAE.T_ARRAY(ty = ty)
equation
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), source = {path}) =
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path)) =
Types.arrayElementType(ty);
dims = Types.getDimensions(tp);
name = Absyn.pathStringNoQual(path);
Expand Down
3 changes: 1 addition & 2 deletions Compiler/FrontEnd/InstBinding.mo
Expand Up @@ -118,8 +118,7 @@ public constant DAE.Type distributionType =
DAE.UNBOUND(), // binding
NONE())
},
NONE(),
{});
NONE());

protected function instBinding
"This function investigates a modification and extracts the
Expand Down
12 changes: 6 additions & 6 deletions Compiler/FrontEnd/InstFunction.mo
Expand Up @@ -822,7 +822,7 @@ algorithm
UnitAbsynBuilder.emptyInstStore(), DAE.NOMOD(), Prefix.NOPRE(), recordCl,
{}, true, InstTypes.INNER_CALL(), ConnectionGraph.EMPTY, Connect.emptySet);

DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo, src) = recType;
DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo) = recType;

vars = Types.filterRecordComponents(vars, SCode.elementInfo(recordCl));
(inputs,locals) = List.extractOnTrue(vars, Types.isModifiableTypesVar);
Expand All @@ -831,7 +831,7 @@ algorithm
vars = listAppend(inputs,locals);

path = Absyn.makeFullyQualified(path);
fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo, src);
fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo);
fargs = Types.makeFargsList(inputs);
funcTy = DAE.T_FUNCTION(fargs, fixedTy, DAE.FUNCTION_ATTRIBUTES_DEFAULT, path);
func = DAE.RECORD_CONSTRUCTOR(path,funcTy,DAE.emptyElementSource);
Expand All @@ -840,7 +840,7 @@ algorithm

// add the instance record constructor too!
path = Absyn.pathSetLastIdent(path, Absyn.makeIdentPathFromString(name));
fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo, src);
fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo);
fargs = Types.makeFargsList(inputs);
funcTy = DAE.T_FUNCTION(fargs, fixedTy, DAE.FUNCTION_ATTRIBUTES_DEFAULT, path);
func = DAE.RECORD_CONSTRUCTOR(path,funcTy,DAE.emptyElementSource);
Expand Down Expand Up @@ -882,15 +882,15 @@ algorithm
list<DAE.FuncArg> fargs;

// try to instantiate class
case (cache, _, DAE.T_COMPLEX(ClassInf.RECORD(path), _, _, _), _)
case (cache, _, DAE.T_COMPLEX(complexClassType=ClassInf.RECORD(path)), _)
equation
path = Absyn.makeFullyQualified(path);
(cache, _) = getRecordConstructorFunction(cache, inEnv, path);
then
cache;

// if previous stuff didn't work, try to use the ty directly
case (cache, _, DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo, src), _)
case (cache, _, DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo), _)
equation
path = Absyn.makeFullyQualified(path);

Expand All @@ -900,7 +900,7 @@ algorithm
locals = List.map(locals,Types.setVarProtected);
vars = listAppend(inputs,locals);

fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo, src);
fixedTy = DAE.T_COMPLEX(ClassInf.RECORD(path), vars, eqCo);
fargs = Types.makeFargsList(inputs);
funcTy = DAE.T_FUNCTION(fargs, fixedTy, DAE.FUNCTION_ATTRIBUTES_DEFAULT, path);
func = DAE.RECORD_CONSTRUCTOR(path,funcTy,DAE.emptyElementSource);
Expand Down
4 changes: 2 additions & 2 deletions Compiler/FrontEnd/InstSection.mo
Expand Up @@ -3142,11 +3142,11 @@ algorithm
then
DAE.T_ARRAY(ty, dims);

case DAE.T_COMPLEX(ci_state, vars, ec, source)
case DAE.T_COMPLEX(ci_state, vars, ec)
equation
vars = List.sort(vars, connectorCompGt);
then
DAE.T_COMPLEX(ci_state, vars, ec, source);
DAE.T_COMPLEX(ci_state, vars, ec);

else inType;

Expand Down
13 changes: 3 additions & 10 deletions Compiler/FrontEnd/InstUtil.mo
Expand Up @@ -326,7 +326,7 @@ algorithm
local
String name;
Absyn.Path path1, path2;
case (DAE.T_COMPLEX(source={path1}),_)
case (DAE.T_COMPLEX(complexClassType = ClassInf.State.TYPE(path=path1)),_)
equation
name = Absyn.pathLastIdent(path1);
path2 = Absyn.stripLast(path1);
Expand Down Expand Up @@ -5559,10 +5559,7 @@ algorithm
case (p,st,l,NONE(),equalityConstraint,_)
equation
failure(ClassInf.META_UNIONTYPE(_) = st);
somep = getOptPath(p);
ts = Types.mkTypeSource(somep);
then
DAE.T_COMPLEX(st,l,equalityConstraint,ts);
then DAE.T_COMPLEX(st,l,equalityConstraint);

// extending
case (p,st,l,SOME(bc),equalityConstraint,_)
Expand Down Expand Up @@ -5666,11 +5663,7 @@ algorithm

// not extending basic type!
case (p,st,l,NONE(),_)
equation
somep = getOptPath(p);
ts = Types.mkTypeSource(somep);
then
DAE.T_COMPLEX(st,l,NONE(),ts); // adrpo: TODO! check equalityConstraint!
then DAE.T_COMPLEX(st,l,NONE()); // adrpo: TODO! check equalityConstraint!

case (p,st,l,SOME(bc),_)
equation
Expand Down
4 changes: 2 additions & 2 deletions Compiler/FrontEnd/Lookup.mo
Expand Up @@ -2192,12 +2192,12 @@ algorithm
// function_name cardinality
case (_,"cardinality")
then {DAE.T_FUNCTION(
{DAE.FUNCARG("x",DAE.T_COMPLEX(ClassInf.CONNECTOR(Absyn.IDENT("$$"),false),{},NONE(),DAE.emptyTypeSource),DAE.C_VAR(),DAE.NON_PARALLEL(),NONE())},
{DAE.FUNCARG("x",DAE.T_COMPLEX(ClassInf.CONNECTOR(Absyn.IDENT("$$"),false),{},NONE()),DAE.C_VAR(),DAE.NON_PARALLEL(),NONE())},
DAE.T_INTEGER_DEFAULT,
DAE.FUNCTION_ATTRIBUTES_DEFAULT,
Absyn.IDENT("cardinality")),
DAE.T_FUNCTION(
{DAE.FUNCARG("x",DAE.T_COMPLEX(ClassInf.CONNECTOR(Absyn.IDENT("$$"),true),{},NONE(),DAE.emptyTypeSource),DAE.C_VAR(),DAE.NON_PARALLEL(),NONE())},
{DAE.FUNCARG("x",DAE.T_COMPLEX(ClassInf.CONNECTOR(Absyn.IDENT("$$"),true),{},NONE()),DAE.C_VAR(),DAE.NON_PARALLEL(),NONE())},
DAE.T_INTEGER_DEFAULT,
DAE.FUNCTION_ATTRIBUTES_DEFAULT,
Absyn.IDENT("cardinality"))};
Expand Down
2 changes: 1 addition & 1 deletion Compiler/FrontEnd/OperatorOverloading.mo
Expand Up @@ -1556,7 +1556,7 @@ function getRecordPath
input DAE.Type inType1;
output Absyn.Path outPath;
algorithm
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), source = outPath :: _) :=
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(outPath)) :=
Types.arrayElementType(inType1);
end getRecordPath;

Expand Down
2 changes: 1 addition & 1 deletion Compiler/FrontEnd/Patternm.mo
Expand Up @@ -321,7 +321,7 @@ algorithm
(cache,patterns) = elabPatternTuple(cache,env,exps,tys,info,inLhs);
then (cache,DAE.PAT_CALL_TUPLE(patterns));

case (cache,_,lhs as Absyn.CALL(fcr,fargs),DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), source = {utPath}),_,_)
case (cache,_,lhs as Absyn.CALL(fcr,fargs),DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(utPath)),_,_)
equation
(cache,pattern) = elabPatternCall(cache,env,Absyn.crefToPath(fcr),fargs,utPath,info,lhs);
then (cache,pattern);
Expand Down
8 changes: 4 additions & 4 deletions Compiler/FrontEnd/PrefixUtil.mo
Expand Up @@ -411,15 +411,15 @@ algorithm
case (cache,_,_,Prefix.PREFIX(Prefix.NOCOMPPRE(),_),SOME(cref)) then (cache,cref);
case (cache,env,_,Prefix.PREFIX(Prefix.PRE(prefix = i,dimensions=ds,subscripts = s,next = xs,ci_state=ci_state),cp),NONE())
equation
ident_ty = Expression.liftArrayLeftList(DAE.T_COMPLEX(ci_state, {}, NONE(), DAE.emptyTypeSource), ds);
ident_ty = Expression.liftArrayLeftList(DAE.T_COMPLEX(ci_state, {}, NONE()), ds);
cref_ = ComponentReference.makeCrefIdent(i,ident_ty,s);
(cache,cref_1) = prefixToCref2(cache,env,inIH,Prefix.PREFIX(xs,cp), SOME(cref_));
then
(cache,cref_1);
case (cache,env,_,Prefix.PREFIX(Prefix.PRE(prefix = i,dimensions=ds,subscripts = s,next = xs,ci_state=ci_state),cp),SOME(cref))
equation
(cache,cref) = prefixSubscriptsInCref(cache,env,inIH,inPrefix,cref);
ident_ty = Expression.liftArrayLeftList(DAE.T_COMPLEX(ci_state, {}, NONE(), DAE.emptyTypeSource), ds);
ident_ty = Expression.liftArrayLeftList(DAE.T_COMPLEX(ci_state, {}, NONE()), ds);
cref_2 = ComponentReference.makeCrefQual(i,ident_ty,s,cref);
(cache,cref_1) = prefixToCref2(cache,env,inIH,Prefix.PREFIX(xs,cp), SOME(cref_2));
then
Expand Down Expand Up @@ -454,13 +454,13 @@ algorithm
case (Prefix.PREFIX(Prefix.NOCOMPPRE(),_),SOME(cref)) then SOME(cref);
case (Prefix.PREFIX(Prefix.PRE(prefix = i,subscripts = s,next = xs),cp),NONE())
equation
cref_ = ComponentReference.makeCrefIdent(i,DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE(), DAE.emptyTypeSource),s);
cref_ = ComponentReference.makeCrefIdent(i,DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE()),s);
cref_1 = prefixToCrefOpt2(Prefix.PREFIX(xs,cp), SOME(cref_));
then
cref_1;
case (Prefix.PREFIX(Prefix.PRE(prefix = i,subscripts = s,next = xs),cp),SOME(cref))
equation
cref_ = ComponentReference.makeCrefQual(i,DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE(), DAE.emptyTypeSource),s,cref);
cref_ = ComponentReference.makeCrefQual(i,DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("")), {}, NONE()),s,cref);
cref_1 = prefixToCrefOpt2(Prefix.PREFIX(xs,cp), SOME(cref_));
then
cref_1;
Expand Down
12 changes: 6 additions & 6 deletions Compiler/FrontEnd/Static.mo
Expand Up @@ -2132,19 +2132,19 @@ algorithm
then DAE.T_CODE(DAE.C_VARIABLENAME());

case Absyn.C_EQUATIONSECTION()
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("EquationSection")),{},NONE(),DAE.emptyTypeSource);
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("EquationSection")),{},NONE());

case Absyn.C_ALGORITHMSECTION()
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("AlgorithmSection")),{},NONE(),DAE.emptyTypeSource);
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("AlgorithmSection")),{},NONE());

case Absyn.C_ELEMENT()
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Element")),{},NONE(),DAE.emptyTypeSource);
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Element")),{},NONE());

case Absyn.C_EXPRESSION()
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Expression")),{},NONE(),DAE.emptyTypeSource);
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Expression")),{},NONE());

case Absyn.C_MODIFICATION()
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Modification")),{},NONE(),DAE.emptyTypeSource);
then DAE.T_COMPLEX(ClassInf.UNKNOWN(Absyn.IDENT("Modification")),{},NONE());
end match;
end elabCodeType;

Expand Down Expand Up @@ -9837,7 +9837,7 @@ algorithm
end for;

vars := listReverse(vars);
outType := DAE.T_COMPLEX(complexClassType, vars, NONE(), DAE.emptyTypeSource);
outType := DAE.T_COMPLEX(complexClassType, vars, NONE());
end complexTypeFromSlots;

protected function slotListArgs
Expand Down
33 changes: 16 additions & 17 deletions Compiler/FrontEnd/Types.mo
Expand Up @@ -451,11 +451,11 @@ algorithm
then
tty;

case (DAE.T_COMPLEX(CIS, vars, ec, ts))
case (DAE.T_COMPLEX(CIS, vars, ec))
equation
vars = List.map(vars, convertFromExpToTypesVar);
then
DAE.T_COMPLEX(CIS, vars, ec, ts);
DAE.T_COMPLEX(CIS, vars, ec);

case (DAE.T_SUBTYPE_BASIC(CIS, vars, ty, ec, ts))
equation
Expand Down Expand Up @@ -1160,8 +1160,7 @@ algorithm
case Values.RECORD(record_ = cname,orderd = vl,comp = ids, index = -1)
equation
vars = valuesToVars(vl, ids);
then
DAE.T_COMPLEX(ClassInf.RECORD(cname),vars,NONE(),{cname});
then DAE.T_COMPLEX(ClassInf.RECORD(cname),vars,NONE());

// MetaModelica Uniontype
case Values.RECORD(record_ = cname,orderd = vl,comp = ids, index = index)
Expand Down Expand Up @@ -1599,10 +1598,10 @@ algorithm
// <uniontype> = <uniontype>
case (DAE.T_METAUNIONTYPE(path = p1), DAE.T_METAUNIONTYPE(path = p2))
then if Absyn.pathEqual(p1,p2) then subtypeTypelist(inType1.typeVars,inType2.typeVars,requireRecordNamesEqual) else false;
case (DAE.T_METAUNIONTYPE(path = p1), DAE.T_COMPLEX(complexClassType=ClassInf.META_UNIONTYPE(_), source = {p2}))
/*case (DAE.T_METAUNIONTYPE(path = p1), DAE.T_COMPLEX(complexClassType=ClassInf.META_UNIONTYPE(_), source = {p2}))
then Absyn.pathEqual(p1,p2); // TODO: Remove?
case(DAE.T_COMPLEX(complexClassType=ClassInf.META_UNIONTYPE(_), source = {p2}), DAE.T_METAUNIONTYPE(path = p1))
then Absyn.pathEqual(p1,p2); // TODO: Remove?
then Absyn.pathEqual(p1,p2); // TODO: Remove?*/

case (DAE.T_CODE(ty = c1),DAE.T_CODE(ty = c2)) then valueEq(c1,c2);

Expand Down Expand Up @@ -2190,7 +2189,7 @@ algorithm
then
res;

case (DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_),varLst = vs, source = {path}))
case (DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path),varLst = vs))
equation
name = Absyn.pathStringNoQual(path);
vars = List.map(vs, unparseVar);
Expand All @@ -2199,7 +2198,7 @@ algorithm
then
res;

case (DAE.T_COMPLEX(complexClassType = ClassInf.CONNECTOR(_, b),varLst = vs, source = {path}))
case (DAE.T_COMPLEX(complexClassType = ClassInf.CONNECTOR(path, b),varLst = vs))
equation
name = Absyn.pathStringNoQual(path);
vars = List.map(vs, unparseVar);
Expand Down Expand Up @@ -3871,24 +3870,24 @@ algorithm
case (DAE.T_ENUMERATION()) then inType;

// for metamodelica we need this for some reson!
case (DAE.T_COMPLEX(CIS, varLst, ec, ts))
case (DAE.T_COMPLEX(CIS, varLst, ec))
equation
true = Config.acceptMetaModelicaGrammar();
varLst = list(simplifyVar(v) for v in varLst);
then
DAE.T_COMPLEX(CIS, varLst, ec, ts);
DAE.T_COMPLEX(CIS, varLst, ec);

// do this for records too, otherwise:
// frame.R = Modelica.Mechanics.MultiBody.Frames.Orientation({const_matrix);
// does not get expanded into the component equations.
case (DAE.T_COMPLEX(CIS as ClassInf.RECORD(_), varLst, ec, ts))
case (DAE.T_COMPLEX(CIS as ClassInf.RECORD(), varLst, ec))
equation
varLst = list(simplifyVar(v) for v in varLst);
then
DAE.T_COMPLEX(CIS, varLst, ec, ts);
DAE.T_COMPLEX(CIS, varLst, ec);

// otherwise just return the same!
case (DAE.T_COMPLEX(_, _, _, _)) then inType;
case DAE.T_COMPLEX() then inType;

case (DAE.T_METABOXED(ty = t))
equation
Expand Down Expand Up @@ -4769,7 +4768,7 @@ algorithm
(e, t2);

case (DAE.CALL(path = path1, expLst = elist),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), varLst = v, source = {path2}),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path2), varLst = v),
DAE.T_METABOXED(ty = t2),
_)
equation
Expand All @@ -4784,7 +4783,7 @@ algorithm
then (e_1,t2);

case (DAE.RECORD(path = path1, exps = elist),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), varLst = v, source = {path2}),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path2), varLst = v),
DAE.T_METABOXED(ty = t2),
_)
equation
Expand All @@ -4799,7 +4798,7 @@ algorithm
then (e_1,t2);

case (DAE.CREF(cref,_),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_), varLst = v, source = {path}),
t1 as DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(path), varLst = v),
DAE.T_METABOXED(ty = t2),_)
equation
true = subtype(t1,t2);
Expand All @@ -4817,7 +4816,7 @@ algorithm
then (e_1,t2);

case (e,
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD(_)),
DAE.T_COMPLEX(complexClassType = ClassInf.RECORD()),
DAE.T_METABOXED(),_)
equation
true = Flags.isSet(Flags.FAILTRACE);
Expand Down

0 comments on commit 1ca1591

Please sign in to comment.