package code.symbols;

import code.instr.Instruction;
import code.type.TypeExpression;

/**
 * Abstracts an operation/function.
 *
 * @author jimeng
 * @since October 22, 2002
 */

public class OperationSymbol extends DataSymbol {

    public OperationSymbol(String moduleName,
                           String symbolName,
                           int staticNestingDepth,
                           int arity,
                           int associativity,
                           int precedence,
                           int visibility,
                           TypeExpression typeExp,
                           Instruction[] code) {
        super(moduleName,
              symbolName,
              staticNestingDepth,
              arity,
              Operation,
              associativity,
              precedence,
              visibility,
              typeExp,
              code);
    }

    public Object accept(SymbolVisitor v, Object o) {
        return v.visit(this, o);
    }

}

