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);
}