Changeset 85 in dev
- Timestamp:
- Mar 30, 2007, 4:19:07 AM (18 years ago)
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler32/Compile_ProcOp.cpp
r78 r85 478 478 } 479 479 480 //新しいオブジェクト領域は0で初期化されているため、Nothingを明示的に代入する必要はない 481 /* 480 482 //実体クラスを持つメンバのコンストラクタ(引数有りを除く)を呼び出す 481 483 for(i3=0;i3<pobj_CompilingClass->iMemberNum;i3++){ … … 484 486 // オブジェクトメンバを発見したとき 485 487 486 sprintf(temporary, "This.%s=%c%c%s()", 487 pMember->name, 488 1, ESC_NEW, 489 pMember->GetClass().name ); 488 sprintf(temporary, "This.%s=Nothing", 489 pMember->name ); 490 490 OpcodeCalc( temporary ); 491 491 } 492 492 } 493 */ 493 494 494 495 //仮想関数テーブルを初期化 -
BasicCompiler64/Compile_ProcOp.cpp
r76 r85 531 531 } 532 532 533 //新しいオブジェクト領域は0で初期化されているため、Nothingを明示的に代入する必要はない 534 /* 533 535 //実体クラスを持つメンバのコンストラクタ(引数有りを除く)を呼び出す 534 536 for(i3=0;i3<pobj_CompilingClass->iMemberNum;i3++){ … … 537 539 // オブジェクトメンバを発見したとき 538 540 539 sprintf(temporary, "This.%s=%c%c%s()", 540 pMember->name, 541 1, ESC_NEW, 542 pMember->GetClass().name ); 541 sprintf(temporary, "This.%s=Nothing", 542 pMember->name ); 543 543 OpcodeCalc( temporary ); 544 544 } 545 545 } 546 */ 546 547 547 548 //仮想関数テーブルを初期化 -
BasicCompiler_Common/Class.cpp
r79 r85 30 30 } 31 31 32 /* 33 TODO: 消す 34 メンバ定義は抽象クラスでもOK 32 35 if( IsObject() ){ 33 36 if( GetClass().IsAbstract() ){ … … 35 38 SetError(125,GetClass().name,cp); 36 39 } 37 } 40 }*/ 38 41 39 42 //メンバ名 … … 574 577 } 575 578 579 /* 580 TODO: 消す 581 これはAB5からは良くなった(参照型になったため) 582 576 583 //コンポジションの関係にあるメンバも検査する 577 584 for(int i=0;i < iMemberNum;i++){ … … 581 588 } 582 589 } 590 */ 583 591 584 592 return false; … … 860 868 if(fConstructor||bDestructor){ 861 869 // コンストラクタ、デストラクタのアクセシビリティをチェック 862 if(dwAccess!=ACCESS_PUBLIC){863 SetError(116,NULL,nowLine);864 dwAccess=ACCESS_PUBLIC;865 }866 870 867 871 //強制的にConst修飾子をつける … … 946 950 for(i=0;i<objClass.iMemberNum;i++){ 947 951 const CMember *pMember = objClass.ppobj_Member[i]; 948 if(pMember->Is Object()){952 if(pMember->IsStruct()){ 949 953 //循環参照でないかをチェック 950 954 if(pobj_LoopRefCheck->check(pMember->GetClass().name)){ -
BasicCompiler_Common/VarList.cpp
r78 r85 23 23 24 24 if( type.IsObject() || type.IsStruct() ){ 25 i2=1; 25 26 if( type.IsObject() ){ 26 27 // 参照型ということを考慮する 27 ReadProcessMemory(hDebugProcess,(void *)offset,&pData,sizeof(void *),&accessBytes);28 i2=ReadProcessMemory(hDebugProcess,(void *)offset,&pData,sizeof(void *),&accessBytes); 28 29 offset = pData; 29 30 } … … 34 35 hParent=TreeView_InsertItem(hVarTree,lptv); 35 36 36 VarList_Member(hVarTree,hParent,offset,type.GetClass(),0);37 if(i2 && offset) VarList_Member(hVarTree,hParent,offset,type.GetClass(),0); 37 38 return; 38 39 } -
BasicCompiler_Common/common.h
r84 r85 47 47 48 48 #ifdef _AMD64_ 49 #define VER_INFO "(x64) β rev.1 84"49 #define VER_INFO "(x64) β rev.194" 50 50 #else 51 #define VER_INFO "β rev.1 84"51 #define VER_INFO "β rev.194" 52 52 #endif 53 53 -
BasicCompiler_Common/error.cpp
r75 r85 168 168 if(num==114) lstrcpy(msg,"デストラクタはパラメータを持てません。"); 169 169 if(num==115) lstrcpy(msg,"コンストラクタ及びデストラクタは戻り値を持てません。"); 170 if(num==116) lstrcpy(msg,"コンストラクタ及びデストラクタはパブリックアクセスにしなければなりません。");170 //if(num==116) lstrcpy(msg,"コンストラクタ及びデストラクタはパブリックアクセスにしなければなりません。"); 171 171 if(num==117) lstrcpy(msg,"デストラクタの名前が \"~クラス名\" になっていません。"); 172 172 if(num==118) lstrcpy(msg,"参照する基底クラスが存在しません。"); -
ProjectEditor/Common.h
r84 r85 66 66 #define APPLICATION_NAME "ActiveBasic 5.0" 67 67 #define VERSION_APPLI_NAME APPLICATION_NAME 68 #define VERSION_STRING "5.00.00 β rev.19 3"68 #define VERSION_STRING "5.00.00 β rev.194" 69 69 70 70 #endif -
ProjectEditor/SubOperation.cpp
r84 r85 167 167 return 0; 168 168 } 169 bool IsNumberChar( char c ){ 170 if(c>='0'&&c<='9'){ 171 return true; 172 } 173 return false; 174 } 169 175 BOOL IsVariableChar(char c){ 170 176 if((c>='A'&&c<='Z')||(c>='a'&&c<='z')||(c>='0'&&c<='9')|| … … 204 210 int pos = (int)temp3 - (int)temp1; 205 211 if( pos == 0 ){ 206 if( ! IsVariableChar( temp1[len2]) ){212 if( !( IsVariableTopChar( temp1[len2] ) || IsNumberChar( temp1[len2] ) ) ){ 207 213 break; 208 214 } 209 215 } 210 216 else{ 211 if( !IsVariableChar( temp1[pos-1] ) 212 && !IsVariableChar( temp1[pos+len2] ) ){ 217 if( !( IsVariableTopChar( temp1[pos-1] ) || IsNumberChar( temp1[pos-1] ) ) 218 && !( IsVariableTopChar( temp1[pos+len2] ) || IsNumberChar( temp1[pos+len2] ) ) 219 ){ 213 220 break; 214 221 } … … 569 576 else if(str[0]=='t'||str[0]=='T'){ 570 577 if(lstrcmpi(str,"Then")==0) return -1; 578 if(lstrcmpi(str,"This")==0) return -1; 571 579 if(lstrcmp(str,"True")==0) return -1; 572 580 if(lstrcmpi(str,"Type")==0) return COM_TYPE;
Note:
See TracChangeset
for help on using the changeset viewer.