Example #1
0
 public bool TryInline(IMethodSymbol method, JsExpression methodTarget, JsExpression[] arguments, out JsExpression result)
 {
     var inline = method.GetInline();
     if (inline != null)
     {
         var argumentsByParameterName = new Dictionary<string, JsExpression>();
         if (methodTarget != null)
             argumentsByParameterName["this"] = methodTarget;
         for (var i = 0; i < method.Parameters.Length; i++)
         {
             var parameter = method.Parameters[i];
             argumentsByParameterName[parameter.Name] = arguments[i];
         }
         // Perform substition of arguments and @this
         result = AtTokenizer.Interpolate(inline, argumentsByParameterName);
         return true;
     }
     result = null;
     return false;
 }