Bug 1071177 - Introduce JSIDVariant type for CPOWs. r=billm
This commit is contained in:
@@ -49,6 +49,12 @@ struct OutVariant
|
||||
explicit OutVariant(const JSVariant &variant) : variant(variant) {}
|
||||
};
|
||||
|
||||
struct Identifier
|
||||
{
|
||||
JSIDVariant variant;
|
||||
explicit Identifier(const JSIDVariant &variant) : variant(variant) {}
|
||||
};
|
||||
|
||||
class Logging
|
||||
{
|
||||
public:
|
||||
@@ -184,6 +190,25 @@ class Logging
|
||||
}
|
||||
}
|
||||
|
||||
void format(const Identifier &id, nsCString &out) {
|
||||
switch (id.variant.type()) {
|
||||
case JSIDVariant::TnsString: {
|
||||
nsAutoCString tmp;
|
||||
format(id.variant.get_nsString(), tmp);
|
||||
out = nsPrintfCString("\"%s\"", tmp.get());
|
||||
break;
|
||||
}
|
||||
case JSIDVariant::Tint32_t: {
|
||||
out = nsPrintfCString("%d", id.variant.get_int32_t());
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
out = "Unknown";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
JavaScriptShared *shared;
|
||||
JSContext *cx;
|
||||
|
||||
Reference in New Issue
Block a user