Opened 13 years ago

Last modified 4 years ago

#1729 closed defect

Flattening error with modelica media type redeclaration of a record — at Initial Version

Reported by: Fritz Zaversky Owned by: Fritz Zaversky
Priority: high Milestone: 1.16.0
Component: Frontend Version: trunk
Keywords: Cc: Fritz Zaversky

Description

Here the test model: 

%%(color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #eeeeee; display: inline ! important; float: none) When I redeclare the record in level two it doesnt work. Following message: Error: Error occurred while flattening model Test.TestModel %%
%%(color: #000000; font-family: Arial,Helvetica,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 21px; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; background-color: #eeeeee; display: inline ! important; float: none) When I do it on level three it works!   %%


package RedeclareRecordTest

partial package MyPartialPackageLevelOne

constant String level = "LevelOne";

replaceable partial record MyRecord
   record variable to be defined a level higher
  end MyRecord;


  replaceable partial model MyReplaceablePartialModelLevelOne

Real variableOne;
    Real variableTwo;
    Real variableThree;
    Real variableFour;

MyRecord myRecord;

equation

variableThree = 3;
     variableFour = 4;


  end MyReplaceablePartialModelLevelOne;

end MyPartialPackageLevelOne;

partial package MyPartialPackageLevelTwo

extends MyPartialPackageLevelOne(level = "LevelTwo");

redeclare record extends MyRecord
    Real recordVariable;
  end MyRecord;

end MyPartialPackageLevelTwo;

finally used package

package MyUsedPackage

extends MyPartialPackageLevelTwo(final level = "LevelThree");

/*this works!
  redeclare record extends MyRecord
    Real recordVariable;
  end MyRecord;
*/
  redeclare model extends MyReplaceablePartialModelLevelOne

equation

myRecord.recordVariable = variableOne;

end MyReplaceablePartialModelLevelOne;

end MyUsedPackage;


model TestModel

package MyPackage = MyUsedPackage;

MyPackage.MyReplaceablePartialModelLevelOne modelFromPackage;

equation

modelFromPackage.variableOne =1;
    modelFromPackage.variableTwo =2;  

end TestModel;

end RedeclareRecordTest;

Change History (0)

Note: See TracTickets for help on using tickets.