Opened 12 years ago

Closed 3 years ago

Last modified 3 years ago

#1729 closed defect (fixed)

Flattening error with modelica media type redeclaration of a record

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

Description (last modified by sjoelund.se)

Here the test model: 

When I redeclare the record in level two it doesnt work. Following message: Error: Error occurred while flattening model Test.TestModel

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 (5)

comment:1 Changed 12 years ago by sjoelund.se

  • Cc changed from zav1984, to zav1984
  • Component set to Backend
  • Description modified (diff)

comment:2 Changed 8 years ago by dietmarw

  • Milestone set to Future

comment:3 Changed 3 years ago by perost

  • Resolution set to fixed
  • Status changed from new to closed

Seems to work fine in both the old and the new frontend now.

comment:4 Changed 3 years ago by perost

  • Component changed from Backend to Frontend

comment:5 Changed 3 years ago by casella

  • Milestone changed from Future to 1.16.0
Note: See TracTickets for help on using tickets.