public ValueGroupType(EnumData enumData, bool constant) : base(enumData.CodeName) { Scope = new Scope("enum " + Name); Constant = constant; EnumData = enumData; TokenType = TokenType.Enum; if (constant) { TokenModifiers.Add(TokenModifier.Readonly); } foreach (EnumMember member in enumData.Members) { EnumValuePair newPair = new EnumValuePair(member, constant, this); ValuePairs.Add(newPair); Scope.AddNativeVariable(newPair); } }
public ValueGroupType(ElementEnum enumData, ITypeSupplier types, bool constant) : base(enumData.Name) { _staticScope = new Scope("enum " + Name); _objectScope = new Scope("enum " + Name); _constant = constant; EnumData = enumData; TokenType = SemanticTokenType.Enum; if (constant) { TokenModifiers.Add(TokenModifier.Readonly); } foreach (ElementEnumMember member in enumData.Members) { EnumValuePair newPair = new EnumValuePair(member, constant, this); _valuePairs.Add(newPair); _staticScope.AddNativeVariable(newPair); } Operations.DefaultAssignment = !constant; }