protected override void ProcessMethodInvocation(MethodInvocationExpression node, IMethod method)
 {
     base.ProcessMethodInvocation(node, method);
     if (UtilitiesModule.IsPossibleStartCoroutineInvocationForm(node))
     {
         UnityScript.TypeSystem.UnityScriptTypeSystem unityScriptTypeSystem = this.UnityScriptTypeSystem;
         if (unityScriptTypeSystem.IsScriptType(method.get_DeclaringType()) && unityScriptTypeSystem.IsGenerator(method))
         {
             if (this.get_CurrentMethod().get_IsStatic())
             {
                 this.get_Warnings().Add(UnityScriptWarnings.CannotStartCoroutineFromStaticFunction(node.get_LexicalInfo(), method.get_Name()));
             }
             else
             {
                 node.get_ParentNode().Replace(node, this.get_CodeBuilder().CreateMethodInvocation(this.get_CodeBuilder().CreateSelfReference(node.get_LexicalInfo(), this.get_CurrentType()), this._StartCoroutine, node));
             }
         }
     }
 }