diff options
Diffstat (limited to 'gcc/d/dmd/mtype.h')
-rw-r--r-- | gcc/d/dmd/mtype.h | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/gcc/d/dmd/mtype.h b/gcc/d/dmd/mtype.h index 28dba1c..083d707 100644 --- a/gcc/d/dmd/mtype.h +++ b/gcc/d/dmd/mtype.h @@ -1,6 +1,6 @@ /* Compiler implementation of the D programming language - * Copyright (C) 1999-2020 by The D Language Foundation, All Rights Reserved + * Copyright (C) 1999-2021 by The D Language Foundation, All Rights Reserved * written by Walter Bright * http://www.digitalmars.com * Distributed under the Boost Software License, Version 1.0. @@ -40,6 +40,7 @@ typedef union tree_node type; typedef struct TYPE type; #endif +Type *typeSemantic(Type *type, const Loc &loc, Scope *sc); void semanticTypeInfo(Scope *sc, Type *t); MATCH deduceType(RootObject *o, Scope *sc, Type *tparam, TemplateParameters *parameters, Objects *dedtypes, unsigned *wm = NULL, size_t inferStart = 0); StorageClass ModToStc(unsigned mod); @@ -245,7 +246,6 @@ public: d_uns64 size(); virtual d_uns64 size(Loc loc); virtual unsigned alignsize(); - virtual Type *semantic(Loc loc, Scope *sc); Type *trySemantic(Loc loc, Scope *sc); Type *merge(); Type *merge2(); @@ -448,7 +448,6 @@ public: static TypeVector *create(Type *basetype); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); d_uns64 size(Loc loc); unsigned alignsize(); Expression *getProperty(Loc loc, Identifier *ident, int flag); @@ -486,7 +485,6 @@ public: Type *syntaxCopy(); d_uns64 size(Loc loc); unsigned alignsize(); - Type *semantic(Loc loc, Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); bool isString(); @@ -512,7 +510,6 @@ public: Type *syntaxCopy(); d_uns64 size(Loc loc) /*const*/; unsigned alignsize() /*const*/; - Type *semantic(Loc loc, Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); bool isString(); @@ -537,7 +534,6 @@ public: const char *kind(); Type *syntaxCopy(); d_uns64 size(Loc loc); - Type *semantic(Loc loc, Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); Expression *defaultInit(Loc loc); @@ -557,7 +553,6 @@ public: static TypePointer *create(Type *t); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); d_uns64 size(Loc loc) /*const*/; MATCH implicitConvTo(Type *to); MATCH constConv(Type *to); @@ -575,7 +570,6 @@ public: TypeReference(Type *t); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); d_uns64 size(Loc loc) /*const*/; Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); Expression *defaultInit(Loc loc); @@ -680,7 +674,6 @@ public: static TypeFunction *create(Parameters *parameters, Type *treturn, VarArg varargs, LINK linkage, StorageClass stc = 0); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); void purityLevel(); bool hasLazyParameters(); bool isDstyleVariadic() const; @@ -709,7 +702,6 @@ public: static TypeDelegate *create(Type *t); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); Type *addStorageClass(StorageClass stc); d_uns64 size(Loc loc) /*const*/; unsigned alignsize() /*const*/; @@ -734,7 +726,6 @@ public: TypeTraits(const Loc &loc, TraitsExp *exp); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); d_uns64 size(Loc loc); void accept(Visitor *v) { v->visit(this); } @@ -774,7 +765,6 @@ public: Type *syntaxCopy(); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); Dsymbol *toDsymbol(Scope *sc); - Type *semantic(Loc loc, Scope *sc); void accept(Visitor *v) { v->visit(this); } }; @@ -789,7 +779,6 @@ public: const char *kind(); Type *syntaxCopy(); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); - Type *semantic(Loc loc, Scope *sc); Dsymbol *toDsymbol(Scope *sc); void accept(Visitor *v) { v->visit(this); } }; @@ -805,7 +794,6 @@ public: Type *syntaxCopy(); Dsymbol *toDsymbol(Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); - Type *semantic(Loc loc, Scope *sc); d_uns64 size(Loc loc); void accept(Visitor *v) { v->visit(this); } }; @@ -818,7 +806,6 @@ public: Type *syntaxCopy(); Dsymbol *toDsymbol(Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); - Type *semantic(Loc loc, Scope *sc); void accept(Visitor *v) { v->visit(this); } }; @@ -847,7 +834,6 @@ public: d_uns64 size(Loc loc); unsigned alignsize(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); Dsymbol *toDsymbol(Scope *sc); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); structalign_t alignment(); @@ -878,7 +864,6 @@ public: Type *syntaxCopy(); d_uns64 size(Loc loc); unsigned alignsize(); - Type *semantic(Loc loc, Scope *sc); Dsymbol *toDsymbol(Scope *sc); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); Expression *getProperty(Loc loc, Identifier *ident, int flag); @@ -917,7 +902,6 @@ public: const char *kind(); d_uns64 size(Loc loc) /*const*/; Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); Dsymbol *toDsymbol(Scope *sc); Expression *dotExp(Scope *sc, Expression *e, Identifier *ident, int flag); ClassDeclaration *isClassHandle(); @@ -948,7 +932,6 @@ public: TypeTuple(Type *t1, Type *t2); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); bool equals(RootObject *o); Expression *getProperty(Loc loc, Identifier *ident, int flag); Expression *defaultInit(Loc loc); @@ -964,7 +947,6 @@ public: TypeSlice(Type *next, Expression *lwr, Expression *upr); const char *kind(); Type *syntaxCopy(); - Type *semantic(Loc loc, Scope *sc); void resolve(Loc loc, Scope *sc, Expression **pe, Type **pt, Dsymbol **ps, bool intypeid = false); void accept(Visitor *v) { v->visit(this); } }; |