class SelectDependencies(datatype('Dependencies', ['product', 'deps_product']), Selector): """Selects the dependencies of a Product for the Subject provided to the constructor.""" def construct_node(self, subject, variants): return SelectDependenciesNode(subject, self.product, variants, self.deps_product)
class Throw(datatype('Throw', ['msg']), State): """Indicates that a Node should have been able to return a value, but failed.""" pass
class Select(datatype('Subject', ['product']), Selector): """Selects the given Product for the Subject provided to the constructor.""" def construct_node(self, subject, variants): return SelectNode(subject, self.product, variants)
class Return(datatype('Return', ['value']), State): """Indicates that a Node successfully returned a value.""" pass
class SearchPath(datatype('SearchPath', ['dependencies'])): """A set of Directories to search.""" pass
class SourceRoots(datatype('SourceRoots', ['buildroot', 'srcroots'])): """Placeholder for the SourceRoot subsystem.""" pass
class JVMPackageName(datatype('JVMPackageName', ['name'])): """A typedef to represent a fully qualified JVM package name.""" pass
class ImportedJVMPackages(datatype('ImportedJVMPackages', ['dependencies'])): """Holds a list of 'JVMPackageName' dependencies.""" pass