Esempio n. 1
0
 private static InvocationTranslator SimpleNameTranslator(string nameTarget)
 {
     return((type, method, parameters) =>
     {
         return $"{nameTarget}({InvocationParameterInfo.GetInvocationParameterList(parameters)})";
     });
 }
Esempio n. 2
0
        private static string VectorCtor(string typeName, string methodName, InvocationParameterInfo[] parameters)
        {
            GetVectorTypeInfo(typeName, out string shaderType, out int elementCount);
            string paramList;

            if (parameters.Length == 0)
            {
                paramList = string.Join(", ", Enumerable.Repeat("0", elementCount));
            }
            else if (parameters.Length == 1)
            {
                paramList = string.Join(", ", Enumerable.Repeat(parameters[0].Identifier, elementCount));
            }
            else
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < parameters.Length; i++)
                {
                    InvocationParameterInfo ipi = parameters[i];
                    sb.Append(ipi.Identifier);

                    if (i != parameters.Length - 1)
                    {
                        sb.Append(", ");
                    }
                }

                paramList = sb.ToString();
            }

            return($"{shaderType}({paramList})");
        }
Esempio n. 3
0
 protected virtual string FormatInvocationParameter(ParameterDefinition def, InvocationParameterInfo ipi)
 {
     return(CSharpToIdentifierNameCore(ipi.FullTypeName, ipi.Identifier));
 }