1
2/* Compiler implementation of the D programming language
3 * Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved
4 * written by Walter Bright
5 * http://www.digitalmars.com
6 * Distributed under the Boost Software License, Version 1.0.
7 * http://www.boost.org/LICENSE_1_0.txt
8 * https://github.com/dlang/dmd/blob/master/src/version.h
9 */
10
11#pragma once
12
13#include "dsymbol.h"
14
15class DebugSymbol : public Dsymbol
16{
17public:
18    unsigned level;
19
20    DebugSymbol(Loc loc, Identifier *ident);
21    DebugSymbol(Loc loc, unsigned level);
22    Dsymbol *syntaxCopy(Dsymbol *);
23
24    const char *toChars();
25    void addMember(Scope *sc, ScopeDsymbol *sds);
26    void semantic(Scope *sc);
27    const char *kind() const;
28    void accept(Visitor *v) { v->visit(this); }
29};
30
31class VersionSymbol : public Dsymbol
32{
33public:
34    unsigned level;
35
36    VersionSymbol(Loc loc, Identifier *ident);
37    VersionSymbol(Loc loc, unsigned level);
38    Dsymbol *syntaxCopy(Dsymbol *);
39
40    const char *toChars();
41    void addMember(Scope *sc, ScopeDsymbol *sds);
42    void semantic(Scope *sc);
43    const char *kind() const;
44    void accept(Visitor *v) { v->visit(this); }
45};
46