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