xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/d/dmd/version.h (revision 627f7eb200a4419d89b531d55fccd2ee3ffdcde0)
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 
15 class DebugSymbol : public Dsymbol
16 {
17 public:
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;
accept(Visitor * v)28     void accept(Visitor *v) { v->visit(this); }
29 };
30 
31 class VersionSymbol : public Dsymbol
32 {
33 public:
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;
accept(Visitor * v)44     void accept(Visitor *v) { v->visit(this); }
45 };
46