public WorkshopInitializedCombo(ClassWorkshopInitializerComponent initializer, ClassType instance, TypeArgCombo combo, int id) { Combo = combo; ID = id; _initializer = initializer; _instance = instance; // todo // StackLength = _instance.Attributes.StackLength; StackLength = instance.Variables.Select(v => v.GetAssigner().StackDelta()).Sum(); }
WorkshopInitializedCombo GetCompatible(TypeArgCombo combo) => _initializedCombos.FirstOrDefault(c => c.Combo.CompatibleWith(combo));
public UniqueSubroutineIdentifier(DefinedMethodProvider provider, WorkshopInitializedCombo classCombo, TypeArgCombo functionCombo) { _provider = provider; _classCombo = classCombo; _functionCombo = functionCombo; }