145
|
1
|
|
2 /* Compiler implementation of the D programming language
|
|
3 * Copyright (C) 2009-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/aliasthis.h
|
|
9 */
|
|
10
|
|
11 #pragma once
|
|
12
|
|
13 #include "dsymbol.h"
|
|
14
|
|
15 /**************************************************************/
|
|
16
|
|
17 class AliasThis : public Dsymbol
|
|
18 {
|
|
19 public:
|
|
20 // alias Identifier this;
|
|
21 Identifier *ident;
|
|
22
|
|
23 AliasThis(Loc loc, Identifier *ident);
|
|
24
|
|
25 Dsymbol *syntaxCopy(Dsymbol *);
|
|
26 void semantic(Scope *sc);
|
|
27 const char *kind() const;
|
|
28 AliasThis *isAliasThis() { return this; }
|
|
29 void accept(Visitor *v) { v->visit(this); }
|
|
30 };
|