Skip to content
This repository has been archived by the owner on Jun 4, 2019. It is now read-only.

Equation variables in subcomponents do not resolve #163

Closed
kfhoech opened this issue Jul 31, 2018 · 2 comments
Closed

Equation variables in subcomponents do not resolve #163

kfhoech opened this issue Jul 31, 2018 · 2 comments
Assignees

Comments

@kfhoech
Copy link
Contributor

kfhoech commented Jul 31, 2018

Reported by @janetlj. Thanks!

@kfhoech kfhoech self-assigned this Jul 31, 2018
@kfhoech
Copy link
Contributor Author

kfhoech commented Jul 31, 2018

Duplicated by the following example:

package Issue_163_Pkg
public

	with Base_Types;

	system Inner
		features
			xx : in data port Base_Types::Integer;
			yy : out data port Base_Types::Integer;
		annex agree {**
			eq vv : int = xx + 1;
		**};
	end Inner;

	system implementation Inner.Impl
		annex agree {**
			eq ww : int = vv + 1;
			assign yy = ww + 1;
		**};
	end Inner.Impl;

	system Outer
		annex agree {**
			guarantee "Trivial" : true;
		**};
	end Outer;

	system implementation Outer.Impl
		subcomponents
			inner : system Inner;
			inner_impl : system Inner.Impl;
		annex agree {**
			eq ovv1 : int = inner.vv;
			eq oxx1 : int = inner.xx;
			eq oww1 : int = inner.ww; -- ww should not resolve in the type
			eq ovv2 : int = inner_impl.vv;
			eq oww2 : int = inner_impl.ww;
			eq oyy2 : int = inner_impl.yy;
		**};
	end Outer.Impl;

end Issue_163_Pkg;

After further investigation, looks like AGREE elements introduced by are missing. Need to add call to collect these in scope provider.

@kfhoech
Copy link
Contributor Author

kfhoech commented Aug 21, 2018

Resolved by #166.

@kfhoech kfhoech closed this as completed Aug 21, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant