3 #include <yuni/core/string.h> 4 #include <yuni/core/smartptr/intrusive.h> 5 #include "details/utils/clid.h" 8 #include "classdef-overloads.h" 16 :
public Yuni::IIntrusiveSmartPtr<Funcdef, false, Yuni::Policy::SingleThreaded> {
56 void print(Yuni::String& out,
bool clearBefore =
true)
const;
79 explicit Funcdef(
const AnyString& name);
86 #include "funcdef.hxx" bool hasParameters() const
Get if the funcdef has parameters.
Definition: funcdef.hxx:18
void appendParameter(const CLID &)
Append an unamed parameter.
Definition: funcdef.hxx:33
bool isPartiallyResolved() const
Get if the funcdef is resolved or has overloads.
Definition: funcdef.hxx:56
void resetReturnType(const CLID &)
Reset the return type.
Definition: funcdef.hxx:28
ClassdefOverloads overloads
Overloads.
Definition: funcdef.h:73
Function definition.
Definition: funcdef.h:15
CLID clid
clid
Definition: funcdef.h:65
Definition: classdef-table.h:19
CLID rettype
Return type (null means void)
Definition: funcdef.h:67
const AnyString name
Name of the func or the operator.
Definition: funcdef.h:63
bool isOperator() const
Is operator ?
Definition: funcdef.hxx:45
Definition of a single class or function.
Definition: atom.h:37
void print(Yuni::String &out, bool clearBefore=true) const
Export the func definition.
Definition: funcdef.cpp:9
Definition: classdef-overloads.h:13
bool isFunc() const
Is a function ?
Definition: funcdef.hxx:50
std::vector< std::pair< AnyString, CLID > > parameters
parameters (name if name parameter, type)
Definition: funcdef.h:69
bool hasReturnType() const
Get if the funcdef has a return type ('void' otherwise)
Definition: funcdef.hxx:13
bool isFullyResolved() const
Get if the funcdef is fully resolved.
Definition: funcdef.hxx:61
void resetReturnTypeToVoid()
Reset the return type to void.
Definition: funcdef.hxx:23