public EEnum(string symbol, TEnum type, AST.ConstIntExpr expr, Enum declarator) : base(symbol, Kind.ENUM, type.Const(), Link.NONE) { this.expr = expr; this.declarator = declarator; }
/// <summary> /// Only add enum constant to block scope or file scope. /// </summary> /// <param name="symbol"></param> /// <param name="type"></param> /// <param name="expr"></param> /// <param name="declarator"></param> public void AddEnum(string symbol, TEnum type, AST.ConstIntExpr expr, Enum declarator) { scopes.First(s => s.kind == ScopeKind.BLOCK || s.kind == ScopeKind.FILE) .AddSymbol(new EEnum(symbol, type, expr, declarator)); }