Ejemplo n.º 1
0
 private static IEnumerable<FunctionDeclarationSymbol> Create1(string name, string documentation, TypeSymbol[] types)
 {
     return types.Select(type => new FunctionDeclarationSymbol(
         name, documentation, type,
         f => new []
         {
             new ParameterSymbol("value", "The specified value.", f, type)
         }));
 }
Ejemplo n.º 2
0
 private static IEnumerable<FunctionSymbol> Create4(
     string name, string documentation, TypeSymbol[] types,
     string parameterName1, string parameterDocumentation1,
     string parameterName2, string parameterDocumentation2,
     string parameterName3, string parameterDocumentation3,
     string parameterName4, string parameterDocumentation4,
     TypeSymbol overrideReturnType = null,
     ParameterDirection overrideParameterDirection4 = ParameterDirection.In)
 {
     return types.Select(type => new FunctionSymbol(
         name, documentation, null, overrideReturnType ?? type,
         f => new[]
         {
             new ParameterSymbol(parameterName1, parameterDocumentation1, f, type),
             new ParameterSymbol(parameterName2, parameterDocumentation2, f, type),
             new ParameterSymbol(parameterName3, parameterDocumentation3, f, type),
             new ParameterSymbol(parameterName4, parameterDocumentation4, f, type, overrideParameterDirection4)
         }));
 }
Ejemplo n.º 3
0
        private static IEnumerable<FunctionSymbol> Create1(
            string name, string documentation, TypeSymbol[] types, 
            string parameterName, string parameterDocumentation, 
            params TypeSymbol[] overrideReturnTypes)
        {
            if (overrideReturnTypes.Length == 0)
                overrideReturnTypes = null;
            else if (overrideReturnTypes.Length == 1)
                overrideReturnTypes = Enumerable.Repeat(overrideReturnTypes[0], types.Length).ToArray();

            return types.Select((type, i) => new FunctionSymbol(
                name, documentation, null, overrideReturnTypes?[i] ?? type,
                f => new []
                {
                    new ParameterSymbol(parameterName ?? "value", parameterDocumentation ?? "The specified value.", f, type)
                }));
        }
Ejemplo n.º 4
0
 private static IEnumerable<FunctionDeclarationSymbol> Create3(
     string name, string documentation, TypeSymbol[] types,
     string parameterName1, string parameterDocumentation1,
     string parameterName2, string parameterDocumentation2,
     string parameterName3, string parameterDocumentation3,
     TypeSymbol overrideReturnType = null,
     TypeSymbol overrideParameterType2 = null,
     TypeSymbol overrideParameterType3 = null,
     ParameterDirection overrideParameterDirection2 = ParameterDirection.In,
     ParameterDirection overrideParameterDirection3 = ParameterDirection.In)
 {
     return types.Select(type => new FunctionDeclarationSymbol(
         name, documentation, overrideReturnType ?? type,
         f => new[]
         {
             new ParameterSymbol(parameterName1, parameterDocumentation1, f, type),
             new ParameterSymbol(parameterName2, parameterDocumentation2, f, overrideParameterType2 ?? type, overrideParameterDirection2),
             new ParameterSymbol(parameterName3, parameterDocumentation3, f, overrideParameterType3 ?? type, overrideParameterDirection3)
         }));
 }