private static XElement GenerateFunctionAutoComplete(FlowScriptModuleFunction function) { var root = new XElement("KeyWord", new XAttribute("name", function.Name), new XAttribute("func", "yes")); var overload = new XElement("Overload", new XAttribute("retVal", function.ReturnType), new XAttribute("descr", function.Description)); root.Add(overload); foreach (var parameter in function.Parameters) { overload.Add(new XElement("Param", new XAttribute("name", $"{parameter.Type} {parameter.Name}"))); } return(root); }
public static FunctionDeclaration FromLibraryFunction(FlowScriptModuleFunction libraryFunction) { var functionParameters = new List <Parameter>(); foreach (var libraryFunctionParameter in libraryFunction.Parameters) { functionParameters.Add(new Parameter( ParameterModifier.None, new TypeIdentifier(libraryFunctionParameter.Type), new Identifier(libraryFunctionParameter.Name))); } var functionDeclaration = new FunctionDeclaration( new IntLiteral(libraryFunction.Index), new TypeIdentifier(libraryFunction.ReturnType), new Identifier(libraryFunction.Name), functionParameters); return(functionDeclaration); }
public static FunctionDeclaration FromLibraryFunction(FlowScriptModuleFunction libraryFunction) { var functionParameters = new List <Parameter>(); foreach (var libraryFunctionParameter in libraryFunction.Parameters) { functionParameters.Add(new Parameter( ParameterModifier.None, new TypeIdentifier(libraryFunctionParameter.Type), new Identifier(libraryFunctionParameter.Name), !string.IsNullOrWhiteSpace(libraryFunctionParameter.DefaultValue) ? Expression.FromText(libraryFunctionParameter.DefaultValue) : null)); } var functionDeclaration = new FunctionDeclaration( new IntLiteral(libraryFunction.Index), new TypeIdentifier(libraryFunction.ReturnType), new Identifier(libraryFunction.Name), functionParameters); return(functionDeclaration); }