Ejemplo n.º 1
0
    private unsafe string GetArgString(int i, ESIR_ArgumentDefinition arg)
    {
        if (arg.ArgType == ES_ArgumentType.Normal)
        {
            return($"{i} : {GetTypeName (arg.ValueType)}");
        }

        return($"{i} : {arg.ArgType} {GetTypeName (arg.ValueType)}");
    }
Ejemplo n.º 2
0
    private static ESIR_ArgumentDefinition ArgumentDefinition(ESIR_ValueNode argType, ESIR_TypeNode valueType)
    {
        var node = ESIR_NodeCache.Shared.TryGetNode(ESIR_NodeKind.ArgumentDefinition, argType, valueType, out var hash);

        if (node is not null)
        {
            return((ESIR_ArgumentDefinition)node);
        }

        var ret = new ESIR_ArgumentDefinition(argType, valueType);

        if (hash >= 0)
        {
            ESIR_NodeCache.Shared.AddNode(ret, hash);
        }

        return(ret);
    }