protected internal override int FindInstanceIdInfo(string s)
{
int id;
// #generated# Last update: 2007-05-09 08:15:15 EDT
id = 0;
string X = null;
int c;
switch (s.Length)
{
case 4:
{
X = "name";
id = Id_name;
goto L_break;
}
case 5:
{
X = "arity";
id = Id_arity;
goto L_break;
}
case 6:
{
X = "length";
id = Id_length;
goto L_break;
}
case 9:
{
c = s[0];
if (c == 'a')
{
X = "arguments";
id = Id_arguments;
}
else
{
if (c == 'p')
{
X = "prototype";
id = Id_prototype;
}
}
goto L_break;
}
}
L_break: ;
if (X != null && X != s && !X.Equals(s))
{
id = 0;
}
goto L0_break;
L0_break: ;
// #/generated#
// #/string_id_map#
if (id == 0)
{
return base.FindInstanceIdInfo(s);
}
int attr;
switch (id)
{
case Id_length:
case Id_arity:
case Id_name:
{
attr = DONTENUM | READONLY | PERMANENT;
break;
}
case Id_prototype:
{
// some functions such as built-ins don't have a prototype property
if (!HasPrototypeProperty())
{
return 0;
}
attr = prototypePropertyAttributes;
break;
}
case Id_arguments:
{
attr = DONTENUM | PERMANENT;
break;
}
default:
{
throw new InvalidOperationException();
}
}
return InstanceIdInfo(attr, id);
}