using System.Collections.Generic; namespace SpirV { public enum OperandQuantifier { /// /// 1 /// Default, /// /// 0 or 1 /// Optional, /// /// 0+ /// 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 ()) { } public Instruction (string name, IReadOnlyList operands) { Operands = operands; Name = name; } public string Name { get; } public IReadOnlyList Operands { get; } } }