def get_rules()

in plugins/spark_upgrade/calculator_signature_change.py [0:0]


    def get_rules(self) -> List[Rule]:
        # Rule to transform EntropyCalculator() arguments
        transform_EntropyCalculator_args = Rule(
            name="transform_EntropyCalculator_args",
            query="cs EntropyCalculator(:[stats])",
            replace_node="*",
            replace="EntropyCalculator(:[stats], :[stats].sum.toLong)",
            holes={"entropy_calculator"},
        )

        # Rule to transform GiniCalculator() arguments
        transform_GiniCalculator_args = Rule(
            name="transform_GiniCalculator_args",
            query="cs GiniCalculator(:[stats])",
            replace_node="*",
            replace="GiniCalculator(:[stats], :[stats].sum.toLong)",
            holes={"gini_calculator"},
        )

        transform_VarianceCalculator_args = Rule(
            name="transform_VarianceCalculator_args",
            query="cs VarianceCalculator(:[stats])",
            replace_node="*",
            replace="VarianceCalculator(:[stats], :[stats].sum.toLong)",
            holes={"variance_calculator"},
        )
        return [
            transform_VarianceCalculator_args,
            transform_GiniCalculator_args,
            transform_EntropyCalculator_args,
        ]