Skip to content

Incomplete type checking for property constants #2222

@lwrage

Description

@lwrage

Summary

There are cases where a property constant of the wrong type can be used without OSATE marking that as an error.

Expected and Current Behavior

The following AADL files should have errors:

property set PS is

	R1: type record (f1: aadlinteger;);
	R2: type record (f1: aadlstring;);
	C1: constant PS::R1 => [f1 => 123;];
	C2: constant PS::R2 => [f1 => "abc";];

	-- should be an error: default value has the wrong type
	C3: constant PS::R1 => PS::C2;
	
	-- should be an error: default value has the wrong type
	P1: PS::R1 => PS::C2 applies to (all);

	P2: list of PS::R1 applies to (all);

end PS;
package P
public
	with PS;
	
	abstract A
		properties
			-- should be an error: value has the wrong type
			PS::P1 => PS::C2;
			-- should be an error: list element has the wrong type
			PS::P2 => (PS::C2);
	end A;
	
end P;

Environment

  • OSATE Version: 2.7.0
  • Operating System: Linux

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions