mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-01 07:30:43 +03:00
30 lines
1,012 B
C++
30 lines
1,012 B
C++
//===-- gen/typinf.h - TypeInfo declaration codegen -------------*- C++ -*-===//
|
||
//
|
||
// LDC – the LLVM D compiler
|
||
//
|
||
// This file is distributed under the BSD-style LDC license. See the LICENSE
|
||
// file for details.
|
||
//
|
||
//===----------------------------------------------------------------------===//
|
||
//
|
||
// Codegen for the TypeInfo types/constants required by the D run-time type
|
||
// information system.
|
||
//
|
||
//===----------------------------------------------------------------------===//
|
||
|
||
#pragma once
|
||
|
||
struct IRState;
|
||
struct Scope;
|
||
struct Loc;
|
||
class Type;
|
||
class TypeInfoDeclaration;
|
||
|
||
void DtoResolveTypeInfo(TypeInfoDeclaration *tid);
|
||
TypeInfoDeclaration *getOrCreateTypeInfoDeclaration(const Loc &loc, Type *t,
|
||
Scope *sc);
|
||
void TypeInfoDeclaration_codegen(TypeInfoDeclaration *decl, IRState *p);
|
||
void TypeInfoClassDeclaration_codegen(TypeInfoDeclaration *decl, IRState *p);
|
||
|
||
// defined in dmd/typinf.d:
|
||
bool isSpeculativeType(Type *t);
|