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

soot.jimple.parser.node.Node Maven / Gradle / Ivy

There is a newer version: 4.6.0
Show newest version
/* This file was generated by SableCC (http://www.sablecc.org/). */

package soot.jimple.parser.node;

import java.util.*;

@SuppressWarnings("nls")
public abstract class Node implements Switchable, Cloneable
{
    private Node parent;

    @Override
    public abstract Object clone();

    public Node parent()
    {
        return this.parent;
    }

    void parent(@SuppressWarnings("hiding") Node parent)
    {
        this.parent = parent;
    }

    abstract void removeChild(Node child);
    abstract void replaceChild(Node oldChild, Node newChild);

    public void replaceBy(Node node)
    {
        this.parent.replaceChild(this, node);
    }

    protected String toString(Node node)
    {
        if(node != null)
        {
            return node.toString();
        }

        return "";
    }

    protected String toString(List list)
    {
        StringBuffer s = new StringBuffer();

        for(Iterator i = list.iterator(); i.hasNext();)
        {
            s.append(i.next());
        }

        return s.toString();
    }

    @SuppressWarnings("unchecked")
    protected  T cloneNode(T node)
    {
        if(node != null)
        {
            return (T) node.clone();
        }

        return null;
    }

    @SuppressWarnings("unchecked")
    protected  List cloneList(List list)
    {
        List clone = new LinkedList();

        for(T n : list)
        {
            clone.add((T) n.clone());
        }

        return clone;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy