def __init__( self, operands: Sequence[MatcherSdv[MODEL]], model_freezer: Callable[[MODEL], MODEL], ): self._operands = operands self._model_freezer = model_freezer self._references = references_from_objects_with_symbol_references( operands)
def __init__( self, dir_path_sdv: PathSdv, file_maker: FileMakerSdv, ): self._dir_path_sdv = dir_path_sdv self._file_maker = file_maker self._references = references_from_objects_with_symbol_references( [dir_path_sdv, file_maker])
def sdv( names: NamesSetup, model_constructor: FullDepsWithDetailsDescriptionSdv[ ModelConstructor[CONTENTS_MATCHER_MODEL]], contents_matcher: MatcherSdv[CONTENTS_MATCHER_MODEL], ) -> FileMatcherSdv: def make_ddv(symbols: SymbolTable) -> FileMatcherDdv: return _FileContentsMatcherDdv(names, model_constructor.resolve(symbols), contents_matcher.resolve(symbols)) return sdv_components.MatcherSdvFromParts( references_from_objects_with_symbol_references( (model_constructor, contents_matcher)), make_ddv, )
def __init__(self, lines_selector: Optional[LineMatcherSdv], preserve_new_lines: bool, regex: RegexSdv, replacement: StringSdv, ): self._lines_selector = lines_selector self._preserve_new_lines = preserve_new_lines self._regex = regex self._replacement = replacement self._references = references_from_objects_with_symbol_references( functional.filter_not_none([ self._lines_selector, self._regex, self._replacement ]))
def __init__( self, model_constructor: FullDepsWithDetailsDescriptionSdv[ ModelConstructor[FilesMatcherModel]], files_matcher: FilesMatcherSdv, ): def get_ddv_validator(symbols: SymbolTable) -> DdvValidator: return ddv_validators.all_of([ model_constructor.resolve(symbols).validator, files_matcher.resolve(symbols).validator, ]) super().__init__( sdv_validation.SdvValidatorFromDdvValidator(get_ddv_validator)) self._model_constructor = model_constructor self._files_matcher = files_matcher self._references = references_from_objects_with_symbol_references([ model_constructor, files_matcher, ])
def model_constructor__recursive( min_depth: Optional[IntegerSdv], max_depth: Optional[IntegerSdv], ) -> FullDepsWithDetailsDescriptionSdv[ModelConstructor[FilesMatcherModel]]: def make_ddv( symbols: SymbolTable ) -> FullDepsWithDetailsDescriptionDdv[ ModelConstructor[FilesMatcherModel]]: def get_int_ddv(x: IntegerSdv) -> IntegerDdv: return x.resolve(symbols) return _RecursiveModelConstructorDdv( map_optional(get_int_ddv, min_depth), map_optional(get_int_ddv, max_depth), ) return w_details_impls.SdvFromParts( make_ddv, references_from_objects_with_symbol_references( filter_not_none([min_depth, max_depth])))
def __init__(self, assertion_parts: Sequence[AssertionPart]): super().__init__(sdv_validation.AndSdvValidator([c.validator for c in assertion_parts])) self._assertion_parts = tuple(assertion_parts) self._references = references_from_objects_with_symbol_references(assertion_parts)
def references(self) -> Sequence[SymbolReference]: objects_with_refs = list(self.stdin) + [self.arguments] + list( self.transformations) return references_from_objects_with_symbol_references( objects_with_refs)
def references(self) -> Sequence[SymbolReference]: return references_from_objects_with_symbol_references( self._fragment_sdvs)
def __init__(self, files: Sequence[FileSpecificationSdv]): self._files = files self._references = tuple(references_from_objects_with_symbol_references(files))
def __init__(self, transformers: Sequence[StringTransformerSdv]): self.transformers = transformers self._references = references_from_objects_with_symbol_references( transformers)
def references(self) -> Sequence[SymbolReference]: return references_from_objects_with_symbol_references( [self._command, self._accumulated_components])
def references(self) -> Sequence[SymbolReference]: return references_from_objects_with_symbol_references([ self._driver, self._arguments])