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/staticassert.h 9 */ 10 11#pragma once 12 13#include "dsymbol.h" 14 15class Expression; 16 17class StaticAssert : public Dsymbol 18{ 19public: 20 Expression *exp; 21 Expression *msg; 22 23 StaticAssert(Loc loc, Expression *exp, Expression *msg); 24 25 Dsymbol *syntaxCopy(Dsymbol *s); 26 void addMember(Scope *sc, ScopeDsymbol *sds); 27 void semantic(Scope *sc); 28 void semantic2(Scope *sc); 29 bool oneMember(Dsymbol **ps, Identifier *ident); 30 const char *kind() const; 31 void accept(Visitor *v) { v->visit(this); } 32}; 33