Programming-Language-Design / src / ast / expression / classes / Variable.java
Variable.java
Raw
package ast.expression.classes;

import ast.definition.Definition;
import ast.expression.AbstractExpression;
import visitor.Visitor;

public class Variable extends AbstractExpression {

    String name;
    Definition definition;

    public Variable(int line, int column, String name) {
        super(line, column);
        this.name = name;
    }

    public String getName() {
        return name;
    }

    @Override
    public String toString() {
        return getName();
    }

    @Override
    public <TP, TR> TR accept(Visitor<TP, TR> v, TP param) {
        return v.visit(this, param);
    }

    public Definition getDefinition() {
        return definition;
    }

    public void setDefinition(Definition definition) {
        this.definition = definition;
    }

}