Skip to content
MethodCallNode.java 1.78 KiB
Newer Older
Javier Costa's avatar
Javier Costa committed
package tfm.nodes;

import com.github.javaparser.ast.stmt.ExpressionStmt;
import edg.graphlib.Arrow;
import org.checkerframework.checker.nullness.qual.NonNull;
import tfm.arcs.data.ArcData;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;


public class MethodCallNode extends SDGNode<ExpressionStmt> {

    private List<AuxiliarSDGNode> inParameters;
    private List<AuxiliarSDGNode> outParameters;

    public <N1 extends GraphNode<ExpressionStmt>> MethodCallNode(N1 node) {
        super(node);

        this.inParameters = new ArrayList<>();
        this.outParameters = new ArrayList<>();
    }

    public MethodCallNode(int id, String representation, ExpressionStmt node) {
        super(id, representation, node);

        this.inParameters = new ArrayList<>();
        this.outParameters = new ArrayList<>();
    }

    public MethodCallNode(int id, String representation, @NonNull ExpressionStmt node, Collection<? extends Arrow<String, ArcData>> incomingArcs, Collection<? extends Arrow<String, ArcData>> outgoingArcs, Set<String> declaredVariables, Set<String> definedVariables, Set<String> usedVariables) {
        super(id, representation, node, incomingArcs, outgoingArcs, declaredVariables, definedVariables, usedVariables);

        this.inParameters = new ArrayList<>();
        this.outParameters = new ArrayList<>();
    }

    public List<AuxiliarSDGNode> getOutParameters() {
        return outParameters;
    }

    public void setOutParameters(List<AuxiliarSDGNode> outParameters) {
        this.outParameters = outParameters;
    }

    public List<AuxiliarSDGNode> getInParameters() {
        return inParameters;
    }

    public void setInParameters(List<AuxiliarSDGNode> inParameters) {
        this.inParameters = inParameters;
    }
}