ShaderTools.Hlsl.Symbols.InvocableSymbol.InvocableSymbol C# (CSharp) Method

InvocableSymbol() private method

private InvocableSymbol ( SymbolKind kind, string name, string documentation, Symbol parent, TypeSymbol returnType, Func lazyParameters = null ) : System
kind SymbolKind
name string
documentation string
parent Symbol
returnType TypeSymbol
lazyParameters Func
return System
        internal InvocableSymbol(SymbolKind kind, string name, string documentation, Symbol parent, TypeSymbol returnType, Func<InvocableSymbol, IEnumerable<ParameterSymbol>> lazyParameters = null)
            : base(kind, name, documentation, parent)
        {
            if (returnType == null)
                throw new ArgumentNullException(nameof(returnType));

            _parameters = new List<ParameterSymbol>();

            if (lazyParameters != null)
                foreach (var parameter in lazyParameters(this))
                    AddParameter(parameter);

            ReturnType = returnType;
        }