using System.Collections.Generic; namespace SpirV { public enum OperandQuantifier { /// <summary> /// 1 /// </summary> Default, /// <summary> /// 0 or 1 /// </summary> Optional, /// <summary> /// 0+ /// </summary> Varying } public class Operand { public Operand(OperandType kind, string name, OperandQuantifier quantifier) { Name = name; Type = kind; Quantifier = quantifier; } public string Name { get; } public OperandType Type { get; } public OperandQuantifier Quantifier { get; } } public class Instruction { public Instruction (string name) : this (name, new List<Operand> ()) { } public Instruction (string name, IReadOnlyList<Operand> operands) { Operands = operands; Name = name; } public string Name { get; } public IReadOnlyList<Operand> Operands { get; } } }