1 1.1 mrg 2 1.1 mrg /* Compiler implementation of the D programming language 3 1.1.1.2 mrg * Copyright (C) 2009-2022 by The D Language Foundation, All Rights Reserved 4 1.1 mrg * written by Walter Bright 5 1.1.1.2 mrg * https://www.digitalmars.com 6 1.1 mrg * Distributed under the Boost Software License, Version 1.0. 7 1.1.1.2 mrg * https://www.boost.org/LICENSE_1_0.txt 8 1.1.1.2 mrg * https://github.com/dlang/dmd/blob/master/src/dmd/aliasthis.h 9 1.1 mrg */ 10 1.1 mrg 11 1.1 mrg #pragma once 12 1.1 mrg 13 1.1.1.2 mrg #include "globals.h" 14 1.1 mrg #include "dsymbol.h" 15 1.1 mrg 16 1.1 mrg /**************************************************************/ 17 1.1 mrg 18 1.1 mrg class AliasThis : public Dsymbol 19 1.1 mrg { 20 1.1 mrg public: 21 1.1 mrg // alias Identifier this; 22 1.1 mrg Identifier *ident; 23 1.1.1.2 mrg Dsymbol *sym; 24 1.1.1.2 mrg bool isDeprecated_; 25 1.1 mrg 26 1.1.1.2 mrg AliasThis *syntaxCopy(Dsymbol *); 27 1.1 mrg const char *kind() const; 28 1.1 mrg AliasThis *isAliasThis() { return this; } 29 1.1 mrg void accept(Visitor *v) { v->visit(this); } 30 1.1.1.2 mrg bool isDeprecated() const { return this->isDeprecated_; } 31 1.1 mrg }; 32