package code.symbols;

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

/**
 * Abstracts a Constructor.
 *
 * @author jimeng
 * @since October 22, 2002
 */

public class ConstructorSymbol extends DataSymbol {

    /**
     * Constructors don't have code. This field is used as a dummy for the code.
     */
    public final static Instruction[] noCode = {};

    public ConstructorSymbol(String moduleName,
			     String symbolName,
			     int staticNestingDepth,
			     int arity,
			     int kind,
			     int associativity,
			     int precedence,
			     int visibility,
			     TypeExpression typeExp) {
        super(moduleName,
	      symbolName,
	      staticNestingDepth,
	      arity,
	      kind,
	      associativity,
	      precedence,
	      visibility,
	      typeExp,
	      noCode);
    }

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

}

