1. A computer-implemented method of extending data model and operations without needing to modify existing codes, the method comprising: statically processing invocation of an extension method of a static type by treating the extension method as a normal instance method rather than as a method having declaration syntax; determining that static processing invocation of the extension method includes an instance method and, as a result, rewriting the instance method with at least one identifier followed by an expression; and processing the rewritten instance method as a static method invocation, except for resolving of the at least one identifier, which has special identifier processing, the special identifier processing including namespace processing that begins with a closest namespace declaration and uses a method group that includes all accessible extension methods having a name given by the at least one identifier.
1. A computer-implemented method of extending data model and operations without needing to modify existing codes, the method comprising: statically processing invocation of an extension method of a static type by treating the extension method as a normal instance method rather than as a method having declaration syntax; determining that static processing invocation of the extension method includes an instance method and, as a result, rewriting the instance method with at least one identifier followed by an expression; and processing the rewritten instance method as a static method invocation, except for resolving of the at least one identifier, which has special identifier processing, the special identifier processing including namespace processing that begins with a closest namespace declaration and uses a method group that includes all accessible extension methods having a name given by the at least one identifier. 8. The computer-implemented method of claim 1 , further comprising processing the rewritten instance method before processing the extension method.