Movatterモバイル変換


[0]ホーム

URL:


D Logo
Menu
Search

Library Reference

version 2.112.0

overview

Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinga local clone.

dmd.dclass

Defines aclass declaration.

SpecificationClasses

Authors:
Walter Bright
License:
Boost License 1.0

Sourcedclass.d

Documentationhttps://dlang.org/phobos/dmd_dclass.html

Coveragehttps://codecov.io/gh/dlang/dmd/src/master/compiler/src/dmd/dclass.d

structBaseClass;
classClassDeclaration:dmd.aggregate.AggregateDeclaration;
boolstack;
true if this is a scope class
intcppDtorVtblIndex;
if this is a C++ class, this is the slot reserved for the virtual destructor
boolinuse;
to prevent recursive attempts
Baseokbaseok;
set the progress of base classes resolving
ObjcClassDeclarationobjc;
Data for a class declaration that is needed for the Objective-C integration.
final pure nothrow @nogc boolisBaseOf2(ClassDeclarationcd);
Determine if 'this' is a base class of cd. This is used to detect circular inheritance only.
pure nothrow @nogc boolisBaseOf(ClassDeclarationcd, int*poffset);
Determine if 'this' is a base class of cd.
final boolisBaseInfoComplete() const;
Determine if 'this' has complete base class information. This is used to detect forward references in covariant overloads.
final ClassDeclarationsearchBase(Identifierident);
Search base classes in depth-first, left-to-right order for a class or interface named 'ident'. Stops at first found. Does not look for additional matches.
Parameters:
Identifieridentidentifier to search for
Returns:
ClassDeclaration if found, null if not
final boolhasMonitor();
Returns:
true if there's a __monitor field
final boolisCOMclass() const;
intvtblOffset() const;
Determine if slot 0 of the vtbl[] is reserved for something else. For class objects, yes, this is where the classinfo ptr goes. For COM interfaces, no. For non-COM interfaces, yes, this is where the Interface ptr goes.
Returns:
0 vtbl[0] is first virtual function pointer 1 vtbl[0] is classinfo/interfaceinfo pointer
const(char)*kind() const;
final voidaddObjcSymbols(ClassDeclarations*classes, ClassDeclarations*categories);
classInterfaceDeclaration:dmd.dclass.ClassDeclaration;
pure nothrow @nogc boolisBaseOf(ClassDeclarationcd, int*poffset);
Determine if 'this' is a base class of cd. (Actually, if it is an interface supported by cd)

Output*poffset offset to start of class OFFSET_RUNTIME must determine offset at runtime

Returns:
false not a base true is a base
const(char)*kind() const;
intvtblOffset() const;
Determine if slot 0 of the vtbl[] is reserved for something else. For class objects, yes, this is where the ClassInfo ptr goes. For COM interfaces, no. For non-COM interfaces, yes, this is where the Interface ptr goes.
Copyright © 1999-2026 by theD Language Foundation | Page generated byDdoc on Fri Feb 20 06:40:45 2026

[8]ページ先頭

©2009-2026 Movatter.jp