V-Gears 0
Free Final Fantasy VII engine.
Function.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2022 The V-Gears Team
3 *
4 * This file is part of V-Gears
5 *
6 * V-Gears is free software: you can redistribute it and/or modify it under
7 * terms of the GNU General Public License as published by the Free Software
8 * Foundation, version 3.0 (GPLv3) of the License.
9 *
10 * V-Gears 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
16#pragma once
17
18#include <set>
19#include "CodeGenerator.h"
20#include "Disassembler.h"
21#include "Graph.h"
22
26struct Function {
27
34
43
48
53
58
62 std::string name;
63
68
73
77 bool ret_val;
78
82 std::string metadata;
83
84};
Graph::vertex_descriptor GraphVertex
Definition: Graph.h:171
unsigned int uint32
Definition: scummsys.h:435
Structure representing a function.
Definition: Function.h:26
std::string name
The name of the function.
Definition: Function.h:62
uint32 num_instructions
Number of instructions in the function.
Definition: Function.h:57
bool ret_val
Return value of the function.
Definition: Function.h:77
GraphVertex vertex
The function vertex.
Definition: Function.h:67
uint32 start_addr
The function starting address.
Definition: Function.h:47
Function(uint32 start_addr, uint32 end_addr)
Constructor.
Definition: Function.h:41
uint32 num_args
Number of arguments in the function.
Definition: Function.h:72
std::string metadata
Metadata for code generation.
Definition: Function.h:82
Function()
Constructor.
Definition: Function.h:33
uint32 end_addr
The function ending address.
Definition: Function.h:52