V-Gears 0
Free Final Fantasy VII engine.
WorldCodeGenerator.h
Go to the documentation of this file.
1/*
2 * V-Gears
3 * Copyright (C) 2022 V-Gears Team
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19#pragma once
20
22
24
25 public:
26
33 WorldCodeGenerator(Engine *engine, std::ostream &output);
34
40 const InstPtr FindFirstCall();
41
47 const InstPtr FindLastCall();
48
57 virtual void ProcessSpecialMetadata(const InstPtr inst, char c, int pos);
58
59 protected:
60
72 std::string ConstructFuncSignature(const Function &function);
73};
boost::intrusive_ptr< Instruction > InstPtr
Pointer to an Instruction.
Definition: Instruction.h:43
Base class for code generators.
Definition: CodeGenerator.h:58
Base class for engines.
Definition: Engine.h:34
Definition: WorldCodeGenerator.h:23
std::string ConstructFuncSignature(const Function &function)
Constructs the function signature.
Definition: WorldCodeGenerator.cpp:22
const InstPtr FindFirstCall()
Finds the first function call.
Definition: WorldCodeGenerator.cpp:27
WorldCodeGenerator(Engine *engine, std::ostream &output)
Constructor.
Definition: WorldCodeGenerator.cpp:19
const InstPtr FindLastCall()
Finds the last function call.
Definition: WorldCodeGenerator.cpp:35
virtual void ProcessSpecialMetadata(const InstPtr inst, char c, int pos)
Processes special metadata in an instruction.
Definition: WorldCodeGenerator.cpp:43
Structure representing a function.
Definition: Function.h:26