115103Sphk
215103Sphk/* Compiler implementation of the D programming language
315103Sphk * Copyright (C) 2009-2019 by The D Language Foundation, All Rights Reserved
415103Sphk * written by Walter Bright
515103Sphk * http://www.digitalmars.com
615103Sphk * Distributed under the Boost Software License, Version 1.0.
715103Sphk * http://www.boost.org/LICENSE_1_0.txt
815103Sphk * https://github.com/dlang/dmd/blob/master/src/aliasthis.h
915103Sphk */
1015103Sphk
1115103Sphk#pragma once
1215103Sphk
1315103Sphk#include "dsymbol.h"
1415103Sphk
1515103Sphk/**************************************************************/
1615103Sphk
1715103Sphkclass AliasThis : public Dsymbol
1815103Sphk{
1915103Sphkpublic:
2015103Sphk   // alias Identifier this;
2115103Sphk    Identifier *ident;
2215103Sphk
2315103Sphk    AliasThis(Loc loc, Identifier *ident);
2415103Sphk
2515103Sphk    Dsymbol *syntaxCopy(Dsymbol *);
2615103Sphk    void semantic(Scope *sc);
2715103Sphk    const char *kind() const;
2815103Sphk    AliasThis *isAliasThis() { return this; }
2915103Sphk    void accept(Visitor *v) { v->visit(this); }
3015103Sphk};
3115103Sphk