Info struct for compiling expression identifiers and functions. This struct is used with method TryCompilation(CIFunction&) to provide information to derived compiler plug-ins, as well as to receive information back.
Definition at line 194 of file compilerplugin.hpp.
#include <compilerplugin.hpp>
Public Field Index: | |
bool | AllArgsAreConst |
List< MonoAllocator, String > & | FunctionsWithNonMatchingArguments |
bool | IsIdentifier |
AString & | Name |
Input: The identifier name to search. | |
Public Field Index: inherited from CompilerPlugin::CompilationInfo | |
ArgIterator | ArgsBegin |
ArgIterator | ArgsEnd |
CallbackDecl | Callback = nullptr |
Output: The native C++ callback function to be set by one of the plug-ins. | |
MonoAllocator & | CompileTimeAllocator |
Scope & | CompileTimeScope |
const nchar * | DbgCallbackName = nullptr |
Box | TypeOrValue = nullptr |
Public Method Index: | |
CIFunction (Scope &scope, MonoAllocator &compileTimeAllocator, AString &name, bool isIdentifier, bool argsAreConst, List< MonoAllocator, String > &hints) | |
void | AddFunctionsWithNonMatchingArguments (const String &signature) |
Box & | Arg (size_t no) |
size_t | QtyArgs () |
Public Method Index: inherited from CompilerPlugin::CompilationInfo | |
CompilationInfo (Scope &scope, MonoAllocator &allocator) | |
bool AllArgsAreConst |
Input: Denotes if all arguments provided are constant values. Operator callbacks that do not use context information from the scope, should calculate the then constant result and return this value instead of the callback method. (Compile-time optimization.)
Definition at line 208 of file compilerplugin.hpp.
List<MonoAllocator, String>& FunctionsWithNonMatchingArguments |
A plug-in may add names of functions that matched, while the arguments did not. This will be stored in the details of a potential exception, if no other plug-in compiles this function and may be displayed to the end-user.
To add entries here, convenience method AddFunctionsWithNonMatchingArguments is provided.
Definition at line 216 of file compilerplugin.hpp.
bool IsIdentifier |
Input: If the function was given as a pure "identifier" this flag is true
.
Definition at line 203 of file compilerplugin.hpp.
AString& Name |
Input: The identifier name to search.
Definition at line 197 of file compilerplugin.hpp.
|
inline |
Constructor.
scope | Passed to parent. |
compileTimeAllocator | Passed to parent. |
name | Stored in Name. |
isIdentifier | Stored in IsIdentifier. |
argsAreConst | Passed to AllArgsAreConst. |
hints | Stored in FunctionsWithNonMatchingArguments. |
Definition at line 225 of file compilerplugin.hpp.
|
inline |
Convenience method that adds creates a monotonically allocated copy of the given string and adds it to list FunctionsWithNonMatchingArguments.
signature | The function signature to add. |
Definition at line 258 of file compilerplugin.hpp.
|
inline |
Returns the argument number no.
no | The number of the argument requested. |
Definition at line 249 of file compilerplugin.hpp.
|
inline |
Returns the number of arguments given.
Definition at line 241 of file compilerplugin.hpp.