public static string GenerateVariableName(VariableModifierKind modifier, ValueKind kind, short index, bool isTopLevel)
        {
            switch (kind)
            {
            case ValueKind.Int:
                switch (modifier)
                {
                case VariableModifierKind.Local:
                    return(isTopLevel ? $"sVar{index}" : $"var{index}");

                case VariableModifierKind.Global:
                    return(isTopLevel ? $"gVar{index}" : $"gVar{index}");
                }
                break;

            case ValueKind.Float:
                switch (modifier)
                {
                case VariableModifierKind.Local:
                    return(isTopLevel ? $"sfVar{index}" : $"fVar{index}");

                case VariableModifierKind.Global:
                    return(isTopLevel ? $"gfVar{index}" : $"gfVar{index}");
                }
                break;
            }

            Debug.Assert(false);
            return(null);
        }
示例#2
0
 public VariableModifier(VariableModifierKind kind, IntLiteral index)
 {
     Kind  = kind;
     Index = index;
 }
示例#3
0
 public VariableModifier(VariableModifierKind kind)
 {
     Kind  = kind;
     Index = null;
 }