issue 6
(Wrong code, prevents calling CLI methods with 2+ int params) reported by unejir...@yahoo.co.jp
- What steps will reproduce the problem?
1. make CLI "public static void a(int a, int b, int c)" accessible from
script
2. call "a(1,2,3)" from script
Result:
EcmaScriptRuntimeException "Cannot convert to int ((init)#161)"
Fix:
EcmaScript.NET/Types/Cli/CliMethodInfo.cs, Call method, ~line 113 and 122
args = new object [i + 1]; // wrong, args cleared
args.CopyTo (args, 0);
args [i] = dummyArg;
replaced with:
object[] args2 = new object [i + 1];
args.CopyTo (args2, 0);
args2 [i] = dummyArg;
args = args2;
(+also else branch)
What steps will reproduce the problem?
1. make CLI "public static void a(int a, int b, int c)" accessible from
script
2. call "a(1,2,3)" from script
Result:
EcmaScriptRuntimeException "Cannot convert to int ((init)#161)"
Fix:
EcmaScript.NET/Types/Cli/CliMethodInfo.cs, Call method, ~line 113 and 122
args = new object [i + 1]; // wrong, args cleared
args.CopyTo (args, 0);
args [i] = dummyArg;
replaced with:
object[] args2 = new object [i + 1];
args.CopyTo (args2, 0);
args2 [i] = dummyArg;
args = args2;
(+also else branch)
Jul 27, 2009
r35
(- Applied patch for Rhino Bug #386997 (ported by Stephen M. ...) committed by Christian.Birkl
- - Applied patch for Rhino Bug #386997 (ported by Stephen M. McKamey)
- Applied patch for Rhino Bug #386997 (ported by Stephen M. McKamey)
Jun 05, 2009
issue 5
(Wrap System.String) reported by shayanelhami
- When a CliObject function return string like below code:
// C#
class Some : CliObject
{
public string advice()
{
return "Help";
}
}
the Context.Wrap() function wraps string as a CliObject. It prevents using build-in string functions like .toLowerCase():
// javascript
print(some.advice().toLowerCase());
Adding the following lines to Conext class just after "if (staticType.IsPrimitive)" seems to solve the problem:
if (staticType == typeof(string))
return obj;
When a CliObject function return string like below code:
// C#
class Some : CliObject
{
public string advice()
{
return "Help";
}
}
the Context.Wrap() function wraps string as a CliObject. It prevents using build-in string functions like .toLowerCase():
// javascript
print(some.advice().toLowerCase());
Adding the following lines to Conext class just after "if (staticType.IsPrimitive)" seems to solve the problem:
if (staticType == typeof(string))
return obj;
Sep 19, 2008
issue 4
(NodeFactory.cs has a bug) reported by kunhualqk
- When parse a javascript witch contains a function ;
the body of function will not be parse info the tree;
In method initFunction(line 303)
//code
fnNode.addChildToBack (statements);
shuld be move to line 343 like this:
//code
result.addChildToBack(statements);
is that true?
When parse a javascript witch contains a function ;
the body of function will not be parse info the tree;
In method initFunction(line 303)
//code
fnNode.addChildToBack (statements);
shuld be move to line 343 like this:
//code
result.addChildToBack(statements);
is that true?