xbl_protoimplementation.cpp [plain text]
#ifndef KHTML_NO_XBL
#include "xbl_protoimplementation.h"
#include "xbl_protobinding.h"
using DOM::DOMString;
namespace XBL
{
XBLPrototypeImplementation::XBLPrototypeImplementation(const DOM::DOMString& name, XBLPrototypeBinding* binding)
:m_name(name), m_binding(binding), m_member(0), m_compiled(false)
{
}
XBLPrototypeMember::XBLPrototypeMember(const DOMString& name)
:m_name(name), m_next(0)
{
}
void XBLPrototypeMember::appendData(const DOM::DOMString& data)
{
m_data += data;
}
XBLPrototypeMethod::XBLPrototypeMethod(const DOM::DOMString& name)
:XBLPrototypeMember(name)
{
}
bool XBLPrototypeMethod::isConstructor() const
{
return false;
}
bool XBLPrototypeMethod::isDestructor() const
{
return false;
}
void XBLPrototypeMethod::addParameter(const DOM::DOMString& name)
{
XBLPrototypeParameter* last = 0;
for (XBLPrototypeParameter* curr = m_parameter; curr; curr = curr->next())
last = curr;
if (last)
m_parameter = new XBLPrototypeParameter(name);
else
last->setNext(new XBLPrototypeParameter(name));
}
XBLPrototypeConstructor::XBLPrototypeConstructor()
:XBLPrototypeMethod("_constructor")
{}
bool XBLPrototypeConstructor::isConstructor() const
{
return true;
}
XBLPrototypeDestructor::XBLPrototypeDestructor()
:XBLPrototypeMethod("_destructor")
{}
bool XBLPrototypeDestructor::isDestructor() const
{
return true;
}
XBLPrototypeField::XBLPrototypeField(const DOM::DOMString& name, bool readonly)
:XBLPrototypeMember(name), m_readonly(readonly)
{
}
XBLPrototypeProperty::XBLPrototypeProperty(const DOM::DOMString& name, bool readonly,
const DOM::DOMString& onget,
const DOM::DOMString& onset)
:XBLPrototypeMember(name), m_setter(onset), m_readonly(readonly)
{
m_data = onget;
}
void XBLPrototypeProperty::appendGetterText(const DOM::DOMString& text)
{
return appendData(text);
}
void XBLPrototypeProperty::appendSetterText(const DOM::DOMString& text)
{
m_setter += text;
}
}
#endif // KHTML_NO_XBL