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")
|
||||
{
|
||||
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)
|
||||
{
|
||||
//cout << "you canno do is" << endl;
|
||||
|
||||
@@ -920,7 +920,7 @@ int main(int argc, char * argv[])
|
||||
|
||||
//DEBUG START
|
||||
//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/Programs/RCBasic_v400_Linux64/examples/Constraint/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)
|
||||
{
|
||||
//cout << "adding type member" << endl;
|
||||
//cout << "adding type member: " << id_name << ", " << id_type << endl;
|
||||
if(!add_type_member(id_name, id_type, "", 0))
|
||||
{
|
||||
{
|
||||
//std::cout << "error" << std::endl;
|
||||
//cout << rc_getError() << endl;
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 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>
|
||||
<stack>
|
||||
<vector>
|
||||
@@ -14,7 +14,7 @@
|
||||
"env_resolve.h"
|
||||
"identifier.h"
|
||||
|
||||
1735169600 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
|
||||
1737864366 /home/n00b/Projects/RCBASIC4/rcbasic_build/tokenizer.h
|
||||
<iostream>
|
||||
<string>
|
||||
<cctype>
|
||||
@@ -37,14 +37,14 @@
|
||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/constants.h
|
||||
<vector>
|
||||
|
||||
1734900354 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
|
||||
1737900196 /home/n00b/Projects/RCBASIC4/rcbasic_build/parser.h
|
||||
"tokenizer.h"
|
||||
"identifier.h"
|
||||
"rc_global.h"
|
||||
"constants.h"
|
||||
<inttypes.h>
|
||||
|
||||
1734372966 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
|
||||
1737900569 /home/n00b/Projects/RCBASIC4/rcbasic_build/identifier.h
|
||||
<inttypes.h>
|
||||
<stack>
|
||||
"rc_global.h"
|
||||
@@ -54,7 +54,7 @@
|
||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_global.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"
|
||||
|
||||
1734372057 /home/n00b/Projects/RCBASIC4/rcbasic_build/rc_vm_asm.h
|
||||
|
||||
Reference in New Issue
Block a user