File tree Expand file tree Collapse file tree 3 files changed +45
-1
lines changed
OMCompiler/Compiler/NFFrontEnd
testsuite/flattening/modelica/scodeinst Expand file tree Collapse file tree 3 files changed +45
-1
lines changed Original file line number Diff line number Diff line change @@ -822,7 +822,7 @@ algorithm
822822 // Redeclare classes with redeclare modifiers. Redeclared components could
823823 // also be handled here, but since each component is only instantiated once
824824 // it's more efficient to apply the redeclare when instantiating them instead.
825- redeclareClasses(cls_tree, node );
825+ redeclareClasses(cls_tree, par );
826826
827827 // Instantiate the extends nodes.
828828 ClassTree . mapExtends(cls_tree,
Original file line number Diff line number Diff line change @@ -847,6 +847,7 @@ RecursiveInst1.mo \
847847RecursiveInst2.mo \
848848RecursiveInst3.mo \
849849RedeclareClass1.mo \
850+ RedeclareClass2.mo \
850851RedeclareClassComponent.mo \
851852RedeclareComponentClass.mo \
852853RedeclareDim1.mo \
Original file line number Diff line number Diff line change 1+ // name: RedeclareClass2
2+ // keywords:
3+ // status: correct
4+ // cflags: -d=newInst
5+ //
6+
7+ model LosslessPipe
8+ extends PartialTwoPortInterface;
9+ end LosslessPipe;
10+
11+ partial model PartialTwoPortInterface
12+ parameter Real m_flow_nominal;
13+ end PartialTwoPortInterface;
14+
15+ partial model PartialConnection2Pipe
16+ replaceable model Model_pipCon = PartialTwoPortInterface(final m_flow_nominal = mCon_flow_nominal);
17+ parameter Real mCon_flow_nominal;
18+ Model_pipCon pipCon;
19+ end PartialConnection2Pipe;
20+
21+ model Connection2PipeLossless
22+ extends PartialConnection2Pipe(redeclare model Model_pipCon = LosslessPipe);
23+ end Connection2PipeLossless;
24+
25+ partial model PartialDistribution2Pipe
26+ parameter Integer nCon = 1 ;
27+ parameter Real [nCon] mCon_flow_nominal;
28+ replaceable PartialConnection2Pipe[nCon] con(final mCon_flow_nominal = mCon_flow_nominal);
29+ end PartialDistribution2Pipe;
30+
31+ model RedeclareClass2
32+ extends PartialDistribution2Pipe(redeclare Connection2PipeLossless[nCon] con);
33+ end RedeclareClass2;
34+
35+
36+ // Result:
37+ // class RedeclareClass2
38+ // final parameter Integer nCon = 1;
39+ // parameter Real mCon_flow_nominal[1];
40+ // final parameter Real con[1].mCon_flow_nominal = mCon_flow_nominal[1];
41+ // final parameter Real con[1].pipCon.m_flow_nominal = con[1].mCon_flow_nominal;
42+ // end RedeclareClass2;
43+ // endResult
You can’t perform that action at this time.
0 commit comments