Merge pull request #1221 from wvdschel/patch-1
Cleaned up formatting in gd_compiler.h
This commit is contained in:
commit
8df47f59d5
@ -37,77 +37,65 @@ class GDCompiler {
|
|||||||
|
|
||||||
const GDParser *parser;
|
const GDParser *parser;
|
||||||
struct CodeGen {
|
struct CodeGen {
|
||||||
|
|
||||||
|
|
||||||
GDScript *script;
|
GDScript *script;
|
||||||
const GDParser::ClassNode *class_node;
|
const GDParser::ClassNode *class_node;
|
||||||
const GDParser::FunctionNode *function_node;
|
const GDParser::FunctionNode *function_node;
|
||||||
|
bool debug_stack;
|
||||||
|
|
||||||
|
List< Map<StringName,int> > stack_id_stack;
|
||||||
|
Map<StringName,int> stack_identifiers;
|
||||||
|
|
||||||
|
List<GDFunction::StackDebug> stack_debug;
|
||||||
|
List< Map<StringName,int> > block_identifier_stack;
|
||||||
|
Map<StringName,int> block_identifiers;
|
||||||
|
|
||||||
|
void add_stack_identifier(const StringName& p_id,int p_stackpos) {
|
||||||
|
stack_identifiers[p_id]=p_stackpos;
|
||||||
|
if (debug_stack) {
|
||||||
|
block_identifiers[p_id]=p_stackpos;
|
||||||
|
GDFunction::StackDebug sd;
|
||||||
|
sd.added=true;
|
||||||
|
sd.line=current_line;
|
||||||
|
sd.identifier=p_id;
|
||||||
|
sd.pos=p_stackpos;
|
||||||
|
stack_debug.push_back(sd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void push_stack_identifiers() {
|
||||||
|
stack_id_stack.push_back( stack_identifiers );
|
||||||
|
if (debug_stack) {
|
||||||
|
|
||||||
|
block_identifier_stack.push_back(block_identifiers);
|
||||||
|
block_identifiers.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void pop_stack_identifiers() {
|
||||||
|
stack_identifiers = stack_id_stack.back()->get();
|
||||||
|
stack_id_stack.pop_back();
|
||||||
|
|
||||||
|
if (debug_stack) {
|
||||||
|
for (Map<StringName,int>::Element *E=block_identifiers.front();E;E=E->next()) {
|
||||||
|
|
||||||
|
GDFunction::StackDebug sd;
|
||||||
|
sd.added=false;
|
||||||
|
sd.identifier=E->key();
|
||||||
|
sd.line=current_line;
|
||||||
|
sd.pos=E->get();
|
||||||
|
stack_debug.push_back(sd);
|
||||||
|
}
|
||||||
|
block_identifiers=block_identifier_stack.back()->get();
|
||||||
|
block_identifier_stack.pop_back();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool debug_stack;
|
//int get_identifier_pos(const StringName& p_dentifier) const;
|
||||||
|
|
||||||
|
|
||||||
List< Map<StringName,int> > stack_id_stack;
|
|
||||||
Map<StringName,int> stack_identifiers;
|
|
||||||
|
|
||||||
List<GDFunction::StackDebug> stack_debug;
|
|
||||||
List< Map<StringName,int> > block_identifier_stack;
|
|
||||||
Map<StringName,int> block_identifiers;
|
|
||||||
|
|
||||||
|
|
||||||
void add_stack_identifier(const StringName& p_id,int p_stackpos) {
|
|
||||||
|
|
||||||
stack_identifiers[p_id]=p_stackpos;
|
|
||||||
if (debug_stack) {
|
|
||||||
|
|
||||||
block_identifiers[p_id]=p_stackpos;
|
|
||||||
GDFunction::StackDebug sd;
|
|
||||||
sd.added=true;
|
|
||||||
sd.line=current_line;
|
|
||||||
sd.identifier=p_id;
|
|
||||||
sd.pos=p_stackpos;
|
|
||||||
stack_debug.push_back(sd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void push_stack_identifiers() {
|
|
||||||
|
|
||||||
stack_id_stack.push_back( stack_identifiers );
|
|
||||||
if (debug_stack) {
|
|
||||||
|
|
||||||
block_identifier_stack.push_back(block_identifiers);
|
|
||||||
block_identifiers.clear();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void pop_stack_identifiers() {
|
|
||||||
|
|
||||||
stack_identifiers = stack_id_stack.back()->get();
|
|
||||||
stack_id_stack.pop_back();
|
|
||||||
|
|
||||||
if (debug_stack) {
|
|
||||||
for (Map<StringName,int>::Element *E=block_identifiers.front();E;E=E->next()) {
|
|
||||||
|
|
||||||
GDFunction::StackDebug sd;
|
|
||||||
sd.added=false;
|
|
||||||
sd.identifier=E->key();
|
|
||||||
sd.line=current_line;
|
|
||||||
sd.pos=E->get();
|
|
||||||
stack_debug.push_back(sd);
|
|
||||||
}
|
|
||||||
block_identifiers=block_identifier_stack.back()->get();
|
|
||||||
block_identifier_stack.pop_back();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// int get_identifier_pos(const StringName& p_dentifier) const;
|
|
||||||
HashMap<Variant,int,VariantHasher> constant_map;
|
HashMap<Variant,int,VariantHasher> constant_map;
|
||||||
Map<StringName,int> name_map;
|
Map<StringName,int> name_map;
|
||||||
|
|
||||||
int get_name_map_pos(const StringName& p_identifier) {
|
int get_name_map_pos(const StringName& p_identifier) {
|
||||||
|
|
||||||
int ret;
|
int ret;
|
||||||
if (!name_map.has(p_identifier)) {
|
if (!name_map.has(p_identifier)) {
|
||||||
ret=name_map.size();
|
ret=name_map.size();
|
||||||
@ -118,11 +106,7 @@ class GDCompiler {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int get_constant_pos(const Variant& p_constant) {
|
int get_constant_pos(const Variant& p_constant) {
|
||||||
|
|
||||||
|
|
||||||
if (constant_map.has(p_constant))
|
if (constant_map.has(p_constant))
|
||||||
return constant_map[p_constant];
|
return constant_map[p_constant];
|
||||||
int pos = constant_map.size();
|
int pos = constant_map.size();
|
||||||
@ -134,7 +118,7 @@ class GDCompiler {
|
|||||||
void alloc_stack(int p_level) { if (p_level >= stack_max) stack_max=p_level+1; }
|
void alloc_stack(int p_level) { if (p_level >= stack_max) stack_max=p_level+1; }
|
||||||
void alloc_call(int p_params) { if (p_params >= call_max) call_max=p_params; }
|
void alloc_call(int p_params) { if (p_params >= call_max) call_max=p_params; }
|
||||||
|
|
||||||
int current_line;
|
int current_line;
|
||||||
int stack_max;
|
int stack_max;
|
||||||
int call_max;
|
int call_max;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user