]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/d/dmd/nspace.h
d: Import dmd b8384668f, druntime e6caaab9, phobos 5ab9ad256 (v2.098.0-beta.1)
[thirdparty/gcc.git] / gcc / d / dmd / nspace.h
1
2 /* Compiler implementation of the D programming language
3 * Copyright (C) 1999-2021 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/dmd/nspace.h
9 */
10
11 #pragma once
12
13 #include "dsymbol.h"
14
15 /* A namespace corresponding to a C++ namespace.
16 * Implies extern(C++).
17 */
18
19 class Nspace : public ScopeDsymbol
20 {
21 public:
22 Expression *identExp;
23 Nspace *syntaxCopy(Dsymbol *s);
24 void addMember(Scope *sc, ScopeDsymbol *sds);
25 void setScope(Scope *sc);
26 Dsymbol *search(const Loc &loc, Identifier *ident, int flags = SearchLocalsOnly);
27 bool hasPointers();
28 void setFieldOffset(AggregateDeclaration *ad, FieldState& fieldState, bool isunion);
29 const char *kind() const;
30 Nspace *isNspace() { return this; }
31 void accept(Visitor *v) { v->visit(this); }
32 };