|
MXVM 1.8.1
Virtual Machine, Compiler, and Pascal Frontend
|
Built-in handler for SDL2 bindings. More...
#include <icode.hpp>

Public Member Functions | |
| bool | canHandle (const std::string &funcName) const override |
Return true if this handler implements funcName. | |
| void | generate (CodeGenVisitor &visitor, const std::string &funcName, const std::vector< std::unique_ptr< ASTNode > > &arguments) override |
| Emit code for a procedure-style call (no return value used). | |
| bool | generateWithResult (CodeGenVisitor &visitor, const std::string &funcName, const std::vector< std::unique_ptr< ASTNode > > &arguments) override |
| Emit code for a function-style call (result pushed on eval stack); return true if handled. | |
| Public Member Functions inherited from pascal::BuiltinFunctionHandler | |
| virtual | ~BuiltinFunctionHandler ()=default |
| virtual VarType | getReturnType (const std::string &funcName) const |
Return the VarType produced by funcName. | |
|
overridevirtual |
Return true if this handler implements funcName.
Implements pascal::BuiltinFunctionHandler.
Definition at line 428 of file icode_imp.cpp.
References pascal::sdlFunctions, and pascal::toLower().
|
overridevirtual |
Emit code for a procedure-style call (no return value used).
Implements pascal::BuiltinFunctionHandler.
Definition at line 432 of file icode_imp.cpp.
References pascal::CodeGenVisitor::emit_invoke(), pascal::CodeGenVisitor::eval(), pascal::CodeGenVisitor::freeReg(), pascal::CodeGenVisitor::isReg(), and pascal::CodeGenVisitor::usedModules.
|
overridevirtual |
Emit code for a function-style call (result pushed on eval stack); return true if handled.
Reimplemented from pascal::BuiltinFunctionHandler.
Definition at line 653 of file icode_imp.cpp.
References pascal::CodeGenVisitor::allocReg(), pascal::CodeGenVisitor::emit(), pascal::CodeGenVisitor::emit_invoke(), pascal::CodeGenVisitor::eval(), pascal::CodeGenVisitor::freeReg(), pascal::CodeGenVisitor::isReg(), pascal::CodeGenVisitor::pushValue(), and pascal::CodeGenVisitor::usedModules.