Changeset 68 in dev
- Timestamp:
- Mar 12, 2007, 4:04:55 AM (18 years ago)
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/Compile_Object.cpp
r64 r68 208 208 // コンストラクタの呼び出し 209 209 //////////////////////////// 210 211 if( lstrcmp(classObj.name,"proc")==0){ 212 int i=0; 213 } 210 214 211 215 BOOL bSomeObjects; -
BasicCompiler32/NumOpe.cpp
r67 r68 73 73 /////////////////////////////////////////////////////// 74 74 75 char *parameter = (char *)malloc( lstrlen( lpszText ) + 3 );76 lstrcpy( parameter, lpszText);75 char *parameter = (char *)malloc( lstrlen( lpszText ) + 32 ); 76 sprintf( parameter, "\"%s\"%c%c*Char", lpszText, 1, ESC_AS ); 77 77 SetStringQuotes( parameter ); 78 78 … … 196 196 pobj_Class=(CClass *)lpBaseIndex; 197 197 TYPEINFO BaseTypeInfo = {BaseType,lpBaseIndex}; 198 if(IsStringSubsituation(pobj_Class) 199 || IsStringObjectType(BaseTypeInfo)){ 198 if(IsStringObjectType(BaseTypeInfo)){ 200 199 //要求タイプがオブジェクトであり、Stringの受け入れが可能な場合 201 200 -
BasicCompiler64/NumOpe.cpp
r67 r68 213 213 pobj_Class=(CClass *)lpBaseIndex; 214 214 TYPEINFO BaseTypeInfo = {BaseType,lpBaseIndex}; 215 if(IsStringSubsituation(pobj_Class) 216 || IsStringObjectType(BaseTypeInfo)){ 217 //要求タイプがオブジェクトであり、Stringの受け入れが可能な場合 215 if(IsStringObjectType(BaseTypeInfo)){ 216 //要求タイプがStringのとき 218 217 219 218 //String型オブジェクトを生成 -
BasicCompiler_Common/Class.cpp
r67 r68 372 372 //※オーバーライドされた関数を先にサーチする必要があるため、バックサーチを行う 373 373 for( int i=(int)methods.size()-1; i>=0; i-- ){ 374 char *temp;375 temp=methods[i]->psi->name;374 SUBINFO *psi = methods[i]->psi; 375 char *temp = psi->name; 376 376 if(temp[0]==1&&temp[1]==ESC_OPERATOR){ 377 377 if((BYTE)temp[2]==idOperatorCalc){ 378 subs.push_back( methods[i]->psi );378 subs.push_back( psi ); 379 379 } 380 380 } -
BasicCompiler_Common/NumOpe_GetType.cpp
r67 r68 376 376 if(pBaseType){ 377 377 if(pBaseType->type==DEF_OBJECT){ 378 if(IsStringSubsituation(pBaseType->u.pobj_Class) 379 || IsStringObjectType(*pBaseType)){ 378 if(IsStringObjectType(*pBaseType)){ 380 379 //要求タイプがオブジェクトであり、Stringの受け入れが可能な場合 381 380 extern CClass *pobj_StringClass; … … 513 512 ////////// 514 513 515 type[sp]=i2; 514 if(i2&FLAG_PTR){ 515 //配列ポインタ 516 type[sp]=GetPtrType(i2^FLAG_PTR,index_stack[sp]); 517 } 518 else{ 519 type[sp]=i2; 520 } 521 516 522 bLiteralCalculation=0; 517 523 sp++; -
BasicCompiler_Common/Variable.cpp
r67 r68 211 211 212 212 //文字型 213 else if( lstrcmpi( TypeName, "Char" ) == 0 ) return DEF_CHAR;213 //else if( lstrcmpi( TypeName, "Char" ) == 0 ) return DEF_CHAR; 214 214 215 215 //bool型 … … 290 290 291 291 //文字型 292 else if(type==DEF_CHAR) lstrcpy(name,"Char");292 //else if(type==DEF_CHAR) lstrcpy(name,"Char"); 293 293 294 294 //bool型 -
BasicCompiler_Common/preprocessor.cpp
r67 r68 84 84 } 85 85 86 // TODO: 削除 87 add( "__STRING_IS_NOT_ALWAYS_UNICODE" ); 88 86 89 char temporary[255]; 87 90 sprintf(temporary,"_AB_VER%d",MAJOR_VER); … … 166 169 } 167 170 168 void preprocessor_ifdef(char *buffer, BOOL bndef){171 void preprocessor_ifdef(char *buffer,bool isNot){ 169 172 int i,i2,i3; 170 173 char temporary[VN_SIZE]; 171 174 172 if( bndef) i=lstrlen("#ifndef");175 if(isNot) i=lstrlen("#ifndef"); 173 176 else i=lstrlen("#ifdef"); 174 177 while(buffer[i]==' '||buffer[i]=='\t') i++; … … 185 188 if(pobj_define->check(temporary)) sw=1; 186 189 187 if( bndef){190 if(isNot){ 188 191 //#ifndefのとき(反対にする) 189 192 if(sw) sw=0; … … 357 360 } 358 361 else if(_memicmp(buffer+i,"#ifdef",6)==0){ 359 preprocessor_ifdef(buffer+i, 0);362 preprocessor_ifdef(buffer+i,false); 360 363 continue; 361 364 } 362 365 else if(_memicmp(buffer+i,"#ifndef",7)==0){ 363 preprocessor_ifdef(buffer+i, 1);366 preprocessor_ifdef(buffer+i,true); 364 367 continue; 365 368 }
Note:
See TracChangeset
for help on using the changeset viewer.