--- /dev/null
+ typedef union jsval_layout {
+ unsigned long int asBits;
+ } jsval_layout;
+ static jsval_layout STRING_TO_JSVAL_IMPL(void * str) {
+ }
+typedef __attribute__ ((aligned(8))) unsigned long int jsval;
+ typedef struct JSLinearString JSLinearString;
+
+namespace js {}
+using namespace js;
+
+namespace js {
+ class Value {
+ public:void setString() {
+ data = STRING_TO_JSVAL_IMPL(0);
+ } jsval_layout data;
+ } __attribute__ ((aligned(8)));
+ static Value StringValue() {
+ Value v;
+ v.setString();
+ return v;
+ }
+ static const jsval & Jsvalify(const Value & v) {
+ return (const jsval &)v;
+ }
+ static Value *Valueify(jsval * v) {
+ return (Value *) v;
+ }
+ struct Class {
+ };
+ namespace gc {
+ struct Cell {
+ };
+}} struct
+JSObject:js::gc::
+Cell
+{
+Class * getClass() const {
+ } inline JSLinearString *getQNameLocalName() const;
+};
+namespace js {
+ static Value IdToValue(long int id) {
+ if (id)
+ return StringValue();
+ } static jsval IdToJsval(long int id) {
+ return Jsvalify(IdToValue(id));
+ }
+}
+
+inline int js_IdIsIndex(long int id, unsigned int * indexp)
+{
+}
+
+namespace js {
+ class AutoGCRooter;
+} struct JSContext {
+AutoGCRooter * autoGCRooters;
+};
+namespace js {
+ class AutoGCRooter {
+ public:AutoGCRooter(JSContext * cx,
+ long int tag):down(cx->autoGCRooters), tag(tag),
+ context(cx) {
+ cx->autoGCRooters = this;
+ } protected:AutoGCRooter * const down;
+ long int tag;
+ JSContext *const context;
+ };
+ class AutoArrayRooter:private AutoGCRooter {
+ public:AutoArrayRooter(JSContext * cx, long unsigned int len,
+ Value * vec):AutoGCRooter(cx, len),
+ array(vec) {
+ } Value *array;
+ private:};
+}
+
+typedef enum JSXMLClass {
+ JSXML_CLASS_ATTRIBUTE
+} JSXMLElemVar;
+struct
+JSXML:js::
+gc::
+Cell {
+ unsigned int xml_class;
+};
+Class js_AttributeNameClass;
+static JSObject *NewXMLAttributeName(JSLinearString * localName)
+{
+}
+
+static void PutProperty(JSContext * cx,
+long int id,
+jsval * vp)
+{
+ JSObject *nameobj;
+ jsval roots[3];
+ roots[1] = IdToJsval(id);
+ roots[2] = *vp;
+ AutoArrayRooter tvr(cx, 0, Valueify(roots));
+ NewXMLAttributeName(nameobj->
+ getQNameLocalName());
+}
+
+void xml_defineProperty(
+JSContext * cx,
+long int id,
+ const Value * v)
+{
+ jsval tmp = Jsvalify(*v);
+PutProperty(cx, id, &tmp);
+}