Fixed DIM not reporting false inside a TYPE block for invalid user type
This commit is contained in:
@@ -352,6 +352,15 @@ bool memberExists(string member_name)
|
|||||||
bool add_type_member(string member_name, int member_type, string member_utype_name, int member_dim_count, string dim1 = "n0", string dim2 = "n0", string dim3 = "n0")
|
bool add_type_member(string member_name, int member_type, string member_utype_name, int member_dim_count, string dim1 = "n0", string dim2 = "n0", string dim3 = "n0")
|
||||||
{
|
{
|
||||||
int m_utype_index = member_utype_name.compare("")!=0 ? getUType(member_utype_name) : -1;
|
int m_utype_index = member_utype_name.compare("")!=0 ? getUType(member_utype_name) : -1;
|
||||||
|
|
||||||
|
//cout << "m_utype_index = " << m_utype_index << " : " << member_utype_name << endl;
|
||||||
|
|
||||||
|
if((member_utype_name.compare("")!=0) && m_utype_index < 0)
|
||||||
|
{
|
||||||
|
rc_setError(member_utype_name + " does not name a valid type");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(m_utype_index == current_type_index)
|
if(m_utype_index == current_type_index)
|
||||||
{
|
{
|
||||||
//cout << "you canno do is" << endl;
|
//cout << "you canno do is" << endl;
|
||||||
|
|||||||
@@ -920,7 +920,7 @@ int main(int argc, char * argv[])
|
|||||||
|
|
||||||
//DEBUG START
|
//DEBUG START
|
||||||
//chdir("/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis");
|
//chdir("/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis");
|
||||||
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Spinning Axis/main.bas";
|
rc_filename = "/home/n00b/test/stp/serenity_main.bas";
|
||||||
//rc_filename = "/home/n00b/Downloads/Tile Scrolling/main.bas";
|
//rc_filename = "/home/n00b/Downloads/Tile Scrolling/main.bas";
|
||||||
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";
|
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Constraint/main.bas";
|
||||||
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Simple 3D Platformer/main.bas";
|
//rc_filename = "/home/n00b/Programs/RCBasic_v400_Linux64/examples/Simple 3D Platformer/main.bas";
|
||||||
|
|||||||
@@ -3404,9 +3404,10 @@ bool check_rule()
|
|||||||
{
|
{
|
||||||
if(current_block_state == BLOCK_STATE_TYPE)
|
if(current_block_state == BLOCK_STATE_TYPE)
|
||||||
{
|
{
|
||||||
//cout << "adding type member" << endl;
|
//cout << "adding type member: " << id_name << ", " << id_type << endl;
|
||||||
if(!add_type_member(id_name, id_type, "", 0))
|
if(!add_type_member(id_name, id_type, "", 0))
|
||||||
{
|
{
|
||||||
|
//std::cout << "error" << std::endl;
|
||||||
//cout << rc_getError() << endl;
|
//cout << rc_getError() << endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# depslib dependency file v1.0
|
# depslib dependency file v1.0
|
||||||
1735455479 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
|
1737898951 source:/home/n00b/Projects/RCBASIC4/rcbasic_build/main.cpp
|
||||||
<iostream>
|
<iostream>
|
||||||
<stack>
|
<stack>
|
||||||
<vector>
|
<vector>
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
"env_resolve.h"
|
"env_resolve.h"
|
||||||
"identifier.h"
|
"identifier.h"
|
||||||
|
|
||||||
1735169600 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
|
1737864366 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
|
||||||
<iostream>
|
<iostream>
|
||||||
<string>
|
<string>
|
||||||
<cctype>
|
<cctype>
|
||||||
@@ -37,14 +37,14 @@
|
|||||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
|
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
|
||||||
<vector>
|
<vector>
|
||||||
|
|
||||||
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
|
1737900196 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
|
||||||
"tokenizer.h"
|
"tokenizer.h"
|
||||||
"identifier.h"
|
"identifier.h"
|
||||||
"rc_global.h"
|
"rc_global.h"
|
||||||
"constants.h"
|
"constants.h"
|
||||||
<inttypes.h>
|
<inttypes.h>
|
||||||
|
|
||||||
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
|
1737900569 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
|
||||||
<inttypes.h>
|
<inttypes.h>
|
||||||
<stack>
|
<stack>
|
||||||
"rc_global.h"
|
"rc_global.h"
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
|
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.h
|
||||||
<inttypes.h>
|
<inttypes.h>
|
||||||
|
|
||||||
1734919451 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
|
1737863743 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_builtin.h
|
||||||
"identifier.h"
|
"identifier.h"
|
||||||
|
|
||||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
|
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
|
||||||
|
|||||||
Reference in New Issue
Block a user