fully type Resolution* classes
[scpubgit/DX.git] / lib / DX / ResolutionSpace.pm
index 4d2bd1f..4d6eeb4 100644 (file)
@@ -5,13 +5,15 @@ use DX::Step::ResolveProposition;
 use DX::Utils qw(expand_deps);
 use DX::Class;
 
-has proposition => (is => 'ro');
+has proposition => (is => 'ro', isa => Proposition);
 
-has geometry_depends_on => (is => 'ro', required => 1);
+has geometry_depends_on => (is => 'ro', required => 1, isa => DependencyList);
 
-has aperture => (is => 'ro', required => 1);
+has aperture => (is => 'ro', required => 1, isa => ApertureList);
 
-has members => (is => 'ro', required => 1);
+has members => (
+  is => 'ro', required => 1, isa => ArrayRef[ResolutionStrategy|Resolution]
+);
 
 sub for_deparse {
   my ($self) = @_;