All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.key_project.slicing.DependencyNodeData Maven / Gradle / Ivy

/* This file is part of KeY - https://key-project.org
 * KeY is licensed under the GNU General Public License Version 2
 * SPDX-License-Identifier: GPL-2.0-only */
package org.key_project.slicing;

import java.util.Collections;
import java.util.List;

import org.key_project.slicing.graph.GraphNode;
import org.key_project.util.collection.Pair;

/**
 * Stores the dependency graph nodes touched by a proof step.
 * Added to a node using {@link de.uka.ilkd.key.proof.Node#register(Object, Class)}.
 *
 * @author Arne Keller
 */
public class DependencyNodeData {
    /**
     * List of graph nodes required to instantiate the proof step. Each boolean indicates whether
     * the graph node was replaced (consumed) by this proof step.
     */
    public final List> inputs;
    /**
     * New graph nodes (formulas, ..) introduced by this proof step.
     */
    public final List outputs;
    /**
     * Label for this proof step.
     */
    public final String label;

    /**
     * Construct a new container for dependency node data.
     *
     * @param inputs graph nodes used by the proof step
     * @param outputs graph nodes created by the proof step
     * @param label label for this node
     */
    public DependencyNodeData(List> inputs, List outputs,
            String label) {
        this.inputs = Collections.unmodifiableList(inputs);
        this.outputs = Collections.unmodifiableList(outputs);
        this.label = label;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy