private static createParameter()

in package/src/languageServiceManager/kustoLanguageService.ts [1702:1748]


    private static createParameter(param: s.InputParameter): sym.Parameter {
        if (!param.columns) {
            const paramSymbol: sym.ScalarSymbol = Kusto.Language.Symbols.ScalarTypes.GetSymbol(
                getCslTypeNameFromClrType(param.type)
            );

            const expression =
                param.cslDefaultValue && typeof param.cslDefaultValue === 'string'
                    ? parsing.QueryParser.ParseLiteral$1(param.cslDefaultValue)
                    : undefined;

            return new sym.Parameter.$ctor3(
                param.name,
                paramSymbol,
                null,
                null,
                param.examples ? KustoLanguageService.toBridgeList(param.examples) : null,
                false,
                null,
                1,
                1,
                expression,
                param.docstring ?? null
            );
        }

        if (param.columns.length == 0) {
            return new sym.Parameter.ctor(
                param.name,
                sym.ParameterTypeKind.Tabular,
                sym.ArgumentKind.Expression,
                null,
                null,
                false,
                null,
                1,
                1,
                null,
                null
            );
        }

        const argumentType = new sym.TableSymbol.ctor(
            param.columns.map((col) => KustoLanguageService.createColumnSymbol(col))
        );
        return new sym.Parameter.$ctor2(param.name, argumentType);
    }