package carray.types;

import polyglot.types.ArrayType;
import polyglot.types.Type;
import polyglot.types.TypeSystem_c;
import polyglot.util.Position;

public class CArrayTypeSystem_c extends TypeSystem_c implements
        CArrayTypeSystem {
    @Override
    public ArrayType createArrayType(Position pos, Type base) {
        // Use carray's version of ArrayType to distinguish between const and
        // non-const array types.
        return new CArrayArrayType_c(this, pos, base);
    }

    @Override
    public ConstArrayType constArrayOf(Position pos, Type base) {
        return new ConstArrayType_c(this, pos, base);
    }
}
