Skip to content

Commit

Permalink
Updated nfinst test cases.
Browse files Browse the repository at this point in the history
  • Loading branch information
perost authored and OpenModelica-Hudson committed Nov 6, 2017
1 parent 7046ded commit d2feef9
Show file tree
Hide file tree
Showing 8 changed files with 171 additions and 1 deletion.
2 changes: 1 addition & 1 deletion flattening/modelica/scodeinst/ComponentAttributes1.mo
Expand Up @@ -16,7 +16,7 @@ end ComponentAttributes1;

// Result:
// class ComponentAttributes1
// protected Real a.x;
// Real a.x;
// protected Real a.y;
// end ComponentAttributes1;
// endResult
32 changes: 32 additions & 0 deletions flattening/modelica/scodeinst/ExtendsVisibility4.mo
@@ -0,0 +1,32 @@
// name: ExtendsVisibility4
// keywords: extends visibility
// status: incorrect
// cflags: -d=newInst
//

model A
function f
output Real x = 1.0;
end f;
end A;

model B
protected
extends A;
end B;

model ExtendsVisibility4
Real x = b.f();
B b;
end ExtendsVisibility4;

// Result:
// Error processing file: ExtendsVisibility4.mo
// [flattening/modelica/scodeinst/ExtendsVisibility4.mo:8:3-10:8:writable] Error: Illegal access of protected element f.
// [flattening/modelica/scodeinst/ExtendsVisibility4.mo:19:3-19:17:writable] Error: Variable b.f not found in scope ExtendsVisibility4.
//
// # Error encountered! Exiting...
// # Please check the error message and the flags.
//
// Execution failed!
// endResult
36 changes: 36 additions & 0 deletions flattening/modelica/scodeinst/ExtendsVisibility5.mo
@@ -0,0 +1,36 @@
// name: ExtendsVisibility5
// keywords: extends visibility
// status: correct
// cflags: -d=newInst
//

model A
function f
output Real x = 1.0;
end f;
end A;

model B
protected
extends A;
end B;

model C
extends A;
end C;

model ExtendsVisibility5
Real x = c.f();
C c;
B b;
end ExtendsVisibility5;

// Result:
// function c.f
// output Real x = 1.0;
// end c.f;
//
// class ExtendsVisibility5
// Real x = c.f();
// end ExtendsVisibility5;
// endResult
6 changes: 6 additions & 0 deletions flattening/modelica/scodeinst/Makefile
Expand Up @@ -160,6 +160,8 @@ ExtendSelf3.mo \
ExtendsVisibility1.mo \
ExtendsVisibility2.mo \
ExtendsVisibility3.mo \
ExtendsVisibility4.mo \
ExtendsVisibility5.mo \
ForEquation1.mo \
ForEquation2.mo \
ForEquation3.mo \
Expand Down Expand Up @@ -370,6 +372,10 @@ usertype3.mo \
usertype4.mo \
usertype5.mo \
usertype6.mo \
Visibility1.mo \
Visibility2.mo \
Visibility3.mo \
Visibility4.mo \
when1.mo \
WhenInitial1.mo \
WhenNested1.mo \
Expand Down
22 changes: 22 additions & 0 deletions flattening/modelica/scodeinst/Visibility1.mo
@@ -0,0 +1,22 @@
// name: Visibility1
// keywords:
// status: correct
// cflags: -d=newInst
//

model Visibility1
Real x;
protected
Real y;
equation
y = x;
end Visibility1;

// Result:
// class Visibility1
// Real x;
// protected Real y;
// equation
// y = x;
// end Visibility1;
// endResult
22 changes: 22 additions & 0 deletions flattening/modelica/scodeinst/Visibility2.mo
@@ -0,0 +1,22 @@
// name: Visibility2
// keywords:
// status: correct
// cflags: -d=newInst
//

model A
Real x;
end A;

model Visibility2
Real x = a.x;
protected
A a;
end Visibility2;

// Result:
// class Visibility2
// Real x = a.x;
// Real a.x;
// end Visibility2;
// endResult
25 changes: 25 additions & 0 deletions flattening/modelica/scodeinst/Visibility3.mo
@@ -0,0 +1,25 @@
// name: Visibility3
// keywords:
// status: incorrect
// cflags: -d=newInst
//

model A
protected Real x;
end A;

model Visibility3
Real x = a.x;
A a;
end Visibility3;

// Result:
// Error processing file: Visibility3.mo
// [flattening/modelica/scodeinst/Visibility3.mo:8:13-8:19:writable] Error: Illegal access of protected element x.
// [flattening/modelica/scodeinst/Visibility3.mo:12:3-12:15:writable] Error: Variable a.x not found in scope Visibility3.
//
// # Error encountered! Exiting...
// # Please check the error message and the flags.
//
// Execution failed!
// endResult
27 changes: 27 additions & 0 deletions flattening/modelica/scodeinst/Visibility4.mo
@@ -0,0 +1,27 @@
// name: Visibility4
// keywords:
// status: incorrect
// cflags: -d=newInst
//

model A
protected function f
output Real x = 1.0;
end f;
end A;

model Visibility4
A a;
Real x = a.f();
end Visibility4;

// Result:
// Error processing file: Visibility4.mo
// [flattening/modelica/scodeinst/Visibility4.mo:8:13-10:8:writable] Error: Illegal access of protected element f.
// [flattening/modelica/scodeinst/Visibility4.mo:15:3-15:17:writable] Error: Variable a.f not found in scope Visibility4.
//
// # Error encountered! Exiting...
// # Please check the error message and the flags.
//
// Execution failed!
// endResult

0 comments on commit d2feef9

Please sign in to comment.