ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
CompilerPlugin::CIUnaryOp Struct Reference

Description:


Info struct for compiling an unary operator. This struct is used with method TryCompilation(CIUnaryOp&) to provide information to derived compiler plug-ins, as well as to receive information back.

Definition at line 319 of file compilerplugin.hpp.

#include <compilerplugin.hpp>

Inheritance diagram for CompilerPlugin::CIUnaryOp:
[legend]
Collaboration diagram for CompilerPlugin::CIUnaryOp:
[legend]

Public Field Index:

bool ArgIsConst
 
StringOperator
 Input/Output: The unary operator.
 
- Public Field Index: inherited from CompilerPlugin::CompilationInfo
ArgIterator ArgsBegin
 
ArgIterator ArgsEnd
 
CallbackDecl Callback = nullptr
 
MonoAllocatorCompileTimeAllocator
 
ScopeCompileTimeScope
 
const ncharDbgCallbackName = nullptr
 
Box TypeOrValue = nullptr
 

Public Method Index:

 CIUnaryOp (Scope &scope, MonoAllocator &compileTimeAllocator, String &op, bool argIsConst)
 
- Public Method Index: inherited from CompilerPlugin::CompilationInfo
 CompilationInfo (Scope &scope, MonoAllocator &allocator)
 

Field Details:

◆ ArgIsConst

bool ArgIsConst

Input: Denotes if the argument is a constant value. 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 328 of file compilerplugin.hpp.

◆ Operator

String& Operator

Input/Output: The unary operator.

Definition at line 321 of file compilerplugin.hpp.

Constructor(s) / Destructor Details::

◆ CIUnaryOp()

CIUnaryOp ( Scope & scope,
MonoAllocator & compileTimeAllocator,
String & op,
bool argIsConst )
inline

Constructor.

Parameters
scopePassed to parent.
compileTimeAllocatorPassed to parent.
opStored in Operator.
argIsConstPassed to field ArgIsConst.

Definition at line 339 of file compilerplugin.hpp.


The documentation for this struct was generated from the following file: