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 using
			a local clone.
		
	dmd.dclass
Defines a class declaration.
Specification Classes
Authors: 
License: 
Source dclass.d
Documentation https://dlang.org/phobos/dmd_dclass.html
- structBaseClass;
- 
- boolfillVtbl(ClassDeclarationcd, FuncDeclarations*vtbl, intnewinstance);
- Fill in vtbl[] for base class based on member functions of class cd.Input vtbl if !=NULL, fill it in newinstance !=0 means all entries must be filled in by members of cd, not members of any base classes of cd. Returns:true if any entries were filled in by members of cd (not exclusively by base classes)
 
- 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:Identifier identidentifier to search for Returns:ClassDeclaration if found, null if not
- final boolhasMonitor();
- Returns:true if there's a __monitor field
- final FuncDeclarationfindFunc(Identifierident, TypeFunctiontf);
- Find virtual function matching identifier and type. Used to build virtual function tables for interface implementations.Parameters:Identifier identfunction's identifier TypeFunction tffunction's type Returns:function symbol if found, null if notErrors prints error message if more than one match 
- final boolisCOMclass() const;
- final boolisAbstract();
- 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-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:27:49 2025