Skip to content

Commit ac1c7fe

Browse files
committed
- Added support for List<> and Tuple<> instead of list<> and tuple<>
git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@8228 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
1 parent b82acce commit ac1c7fe

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

Compiler/FrontEnd/Inst.mo

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3369,7 +3369,7 @@ algorithm
33693369
Boolean prot,impl,enc2;
33703370
InstDims inst_dims,inst_dims_1;
33713371
list<DAE.Subscript> inst_dims2;
3372-
String id,cn2,cns,scope_str,s;
3372+
String id,cn2,cns,scope_str,s,str;
33733373
SCode.Class c;
33743374
SCode.ClassDef classDef;
33753375
Option<DAE.EqMod> eq;
@@ -3658,7 +3658,7 @@ algorithm
36583658
then fail();
36593659

36603660
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3661-
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("list"),{tSpec},_),modifications = mod, attributes=DA),
3661+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("list"),{tSpec},NONE()),modifications = mod, attributes=DA),
36623662
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
36633663
equation
36643664
true = RTOpts.acceptMetaModelicaGrammar();
@@ -3673,7 +3673,7 @@ algorithm
36733673
then (cache,env,ih,store,DAEUtil.emptyDae,csets,ClassInf.META_LIST(Absyn.IDENT("")),{},bc,oDA,NONE(),graph);
36743674

36753675
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3676-
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("Option"),{tSpec},_),modifications = mod, attributes=DA),
3676+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("Option"),{tSpec},NONE()),modifications = mod, attributes=DA),
36773677
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
36783678
equation
36793679
true = RTOpts.acceptMetaModelicaGrammar();
@@ -3687,7 +3687,7 @@ algorithm
36873687
then (cache,env,ih,store,DAEUtil.emptyDae,csets,ClassInf.META_OPTION(Absyn.IDENT("")),{},bc,oDA,NONE(),graph);
36883688

36893689
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3690-
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("tuple"),tSpecs,_),modifications = mod, attributes=DA),
3690+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("tuple"),tSpecs,NONE()),modifications = mod, attributes=DA),
36913691
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
36923692
equation
36933693
true = RTOpts.acceptMetaModelicaGrammar();
@@ -3700,7 +3700,7 @@ algorithm
37003700
then (cache,env,ih,store,DAEUtil.emptyDae,csets,ClassInf.META_TUPLE(Absyn.IDENT("")),{},bc,oDA,NONE(),graph);
37013701

37023702
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3703-
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("array"),{tSpec},_),modifications = mod, attributes=DA),
3703+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("array"),{tSpec},NONE()),modifications = mod, attributes=DA),
37043704
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
37053705
equation
37063706
true = RTOpts.acceptMetaModelicaGrammar();
@@ -3713,7 +3713,7 @@ algorithm
37133713
then (cache,env,ih,store,DAEUtil.emptyDae,csets,ClassInf.META_ARRAY(Absyn.IDENT(className)),{},bc,oDA,NONE(),graph);
37143714

37153715
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3716-
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("polymorphic"),{Absyn.TPATH(Absyn.IDENT("Any"),NONE())},_),modifications = mod, attributes=DA),
3716+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT("polymorphic"),{Absyn.TPATH(Absyn.IDENT("Any"),NONE())},NONE()),modifications = mod, attributes=DA),
37173717
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
37183718
equation
37193719
true = RTOpts.acceptMetaModelicaGrammar();
@@ -3733,6 +3733,24 @@ algorithm
37333733
Error.addSourceMessage(Error.META_POLYMORPHIC, {className}, info);
37343734
then fail();
37353735

3736+
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3737+
SCode.DERIVED(typeSpec=tSpec as Absyn.TCOMPLEX(arrayDim=SOME(_)),modifications=mod),
3738+
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)
3739+
equation
3740+
true = RTOpts.acceptMetaModelicaGrammar();
3741+
cns = Dump.unparseTypeSpec(tSpec);
3742+
Error.addSourceMessage(Error.META_INVALID_COMPLEX_TYPE, {cns}, info);
3743+
then fail();
3744+
3745+
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
3746+
SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT(str),tSpecs,NONE()),modifications = mod, attributes=DA),
3747+
re,prot,inst_dims,impl,inCallingScope,graph,instSingleCref,info,stopInst)
3748+
equation
3749+
str = Util.assoc(str,{("List","list"),("Tuple","tuple")});
3750+
(outCache,outEnv,outIH,outStore,outDae,outSets,outState,outTypesVarLst,outTypesTypeOption,optDerAttr,outEqualityConstraint,outGraph)
3751+
=instClassdef2(cache,env,ih,store,mods,pre,csets,ci_state,className,SCode.DERIVED(Absyn.TCOMPLEX(Absyn.IDENT(str),tSpecs,NONE()),mod,DA,NONE()),re,prot,inst_dims,impl,inCallingScope,graph,instSingleCref,info,stopInst);
3752+
then (outCache,outEnv,outIH,outStore,outDae,outSets,outState,outTypesVarLst,outTypesTypeOption,optDerAttr,outEqualityConstraint,outGraph);
3753+
37363754
case (cache,env,ih,store,mods,pre,csets,ci_state,className,
37373755
SCode.DERIVED(typeSpec=tSpec as Absyn.TCOMPLEX(path=cn,typeSpecs=tSpecs),modifications=mod),
37383756
re,prot,inst_dims,impl,_,graph,instSingleCref,info,stopInst)

0 commit comments

Comments
 (0)