static void yAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
{
    SVGPathSegLinetoRel* imp = V8SVGPathSegLinetoRel::toNative(info.Holder());
    float v = static_cast<float>(value->NumberValue());
    imp->setY(v);
    return;
}
JSValue* JSSVGPathSegLinetoRel::getValueProperty(ExecState* exec, int token) const
{
    switch (token) {
    case XAttrNum: {
        SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(impl());
        return jsNumber(exec, imp->x());
    }
    case YAttrNum: {
        SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(impl());
        return jsNumber(exec, imp->y());
    }
    }
    return 0;
}
void JSSVGPathSegLinetoRel::putValueProperty(ExecState* exec, int token, JSValue* value)
{
    switch (token) {
    case XAttrNum: {
        SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(impl());
        imp->setX(value->toFloat(exec));
        if (context())
            context()->svgAttributeChanged(impl()->associatedAttributeName());
        break;
    }
    case YAttrNum: {
        SVGPathSegLinetoRel* imp = static_cast<SVGPathSegLinetoRel*>(impl());
        imp->setY(value->toFloat(exec));
        if (context())
            context()->svgAttributeChanged(impl()->associatedAttributeName());
        break;
    }
    }
}
static v8::Handle<v8::Value> yAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    SVGPathSegLinetoRel* imp = V8SVGPathSegLinetoRel::toNative(info.Holder());
    return v8::Number::New(imp->y());
}