This is a very good question ! Actually I have not completed the full implementation from ES3 specification, and thus for native classes' methods also. They are complete for the Global object and the Object class for instance. There are two different types
of methods to implement: the static and instance methods.
Implementing static methods:
Take a look at Jint.Native.JsGlobal.cs constructor, more specifically at this line:
this["parseInt"] = new JsFunctionWrapper(ParseInt); // 220.127.116.11
It declares the static parseInt method, i.e. which doesn't require an instance. The following implementation is done in the same class, in C#.
This is the exact implementation of the ECMAScript specification. You can even see the reference in the document in the comment's summary: 18.104.22.168
Implementing instance methods:
Those implementations are done using the ClrImplDefinition<T>
class. A good example is how I have implemented Array.push() in the class JsArrayConstructor. Those methods needs to be added in the prototype of the constructor object.
Implementing instance getters:
When you need to code a logic which is actually published as a property, you can use
ClrGetterDefinition. The example is Array.length in the JsArrayConstructor.
With this information you should be able to implement any native method or property, only if you can't wait for me to do it.