Преглед изворни кода

Fix for a bad declaration of a table been interpreted as a class

mingodad пре 8 година
родитељ
комит
b5e8601a95
1 измењених фајлова са 2 додато и 1 уклоњено
  1. 2 1
      SquiLu/squirrel/sqcompiler.cpp

+ 2 - 1
SquiLu/squirrel/sqcompiler.cpp

@@ -1587,7 +1587,8 @@ member_has_type:
 				Lex();
 				obj_id = saved_tok == TK_FUNCTION ? Expect(TK_IDENTIFIER) :
 					_fs->CreateString(saved_tok == TK_CONSTRUCTOR ? _SC("constructor") : _SC("destructor"));
-                CheckClassMemberExists(member_names, obj_id);
+                if(sqtype(member_names) == OT_TABLE) CheckClassMemberExists(member_names, obj_id);
+                else Error(_SC("unexpected error in class declaration"));
 				Expect(_SC('('));
 function_params_decl:
 				_fs->AddInstruction(_OP_LOAD, _fs->PushTarget(), _fs->GetConstant(obj_id));