Opened 12 years ago

Closed 7 years ago

#2107 closed defect (fixed)

Protected elements not protected

Reported by: jwharington@… Owned by: Per Östlund
Priority: high Milestone: 2.0.0
Component: Frontend Version: trunk
Keywords: Cc:

Description (last modified by Lennart Ochel)

Access control via protected keyword is ignored, violating modelica language 3.2 spec section 4.1 "Access Control - Public and Protected Elements".

Example follows. This compiles and runs fine, it should error out.

class protectedvar
  class Container
    protected 
    Boolean youcanttouchthis (start = true);
    Real youcanttouchthat;
  end Container;

  Container container;
algorithm
  container.youcanttouchthis := false;
equation
  container.youcanttouchthat = 0;
end protectedvar;

Change History (12)

comment:1 by Per Östlund, 12 years ago

Component: BackendFrontend
Owner: changed from probably noone to somebody

comment:2 by Lennart Ochel, 12 years ago

Description: modified (diff)

comment:3 by Martin Sjölund, 11 years ago

Milestone: 1.9.01.9.1

Postponed until 1.9.1

comment:4 by Martin Sjölund, 10 years ago

Milestone: 1.9.11.9.2

This ticket was not closed for 1.9.1, which has now been released. It was batch modified for milestone 1.9.2 (but maybe an empty milestone was more appropriate; feel free to change it).

comment:5 by Martin Sjölund, 10 years ago

Milestone: 1.9.21.9.3

Milestone changed to 1.9.3 since 1.9.2 was released.

comment:6 by Martin Sjölund, 9 years ago

Milestone: 1.9.31.9.4

Moved to new milestone 1.9.4

comment:7 by Martin Sjölund, 9 years ago

Milestone: 1.9.41.9.5

Milestone pushed to 1.9.5

comment:8 by Martin Sjölund, 9 years ago

Milestone: 1.9.51.10.0

Milestone renamed

comment:9 by Martin Sjölund, 8 years ago

Milestone: 1.10.01.11.0

Ticket retargeted after milestone closed

comment:10 by Martin Sjölund, 8 years ago

Milestone: 1.11.01.12.0

Milestone moved to 1.12.0 due to 1.11.0 already being released.

comment:11 by Francesco Casella, 7 years ago

Milestone: 1.12.02.0.0
Owner: changed from somebody to Per Östlund
Status: newassigned

The new front-end produces this output

[1] 22:58:23 Translation Error
[M: 5:5-5:26]: youcanttouchthat is protected and cannot be accessed outside it's scope.

which is correct, except that the spelling should be "outside its scope".

comment:12 by Francesco Casella, 7 years ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.