Changeset 47 in dev for BasicCompiler_Common


Ignore:
Timestamp:
Feb 10, 2007, 3:12:04 AM (18 years ago)
Author:
dai_9181
Message:

列挙子の比較演算が正常に行えないバグを修正。
クラス名と同名のグローバル関数を定義できないバグを修正

Location:
BasicCompiler_Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler_Common/Enum.cpp

    r29 r47  
    161161        lstrcpy(buffer+length,"\tEnd Sub\n");
    162162        length+=lstrlen(buffer+length);
     163        sprintf(buffer+length,"\tSub %s(ByRef e As %s)\n",parent->TypeName,parent->TypeName);
     164        length+=lstrlen(buffer+length);
     165        lstrcpy(buffer+length,"\t\tEnumBase(e.m_Value)\n");
     166        length+=lstrlen(buffer+length);
     167        lstrcpy(buffer+length,"\tEnd Sub\n");
     168        length+=lstrlen(buffer+length);
    163169        sprintf(buffer+length,"\tSub %s(value As Long)\n",parent->TypeName);
    164170        length+=lstrlen(buffer+length);
     
    233239        length+=lstrlen(buffer+length);
    234240
     241        sprintf(buffer+length,"\tFunction Operator== (ByRef e As %s) As Boolean\n",parent->TypeName);
     242        length+=lstrlen(buffer+length);
     243        lstrcpy(buffer+length,"\t\tReturn ( e.m_Value = m_Value )\n");
     244        length+=lstrlen(buffer+length);
     245        lstrcpy(buffer+length,"\tEnd Function\n");
     246        length+=lstrlen(buffer+length);
     247
    235248        lstrcpy(buffer+length,"End Class\n");
    236249        length+=lstrlen(buffer+length);
  • BasicCompiler_Common/hash.cpp

    r46 r47  
    114114        }
    115115        else{
    116             pobj_c=pobj_DBClass->check(ObjName);
    117             if( pobj_c ){
    118                 isStatic = true;
    119             }
    120             else{
    121                 //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し
    122                 int type = GetVarType(ObjName,(LONG_PTR *)&pobj_c,0);
    123                 if(!(NATURAL_TYPE(type)==DEF_OBJECT)) goto finish;
     116            //"->"によってオブジェクトを指定する通常のメンバ関数呼び出し
     117            int type = GetVarType(ObjName,(LONG_PTR *)&pobj_c,0);
     118            if(!(NATURAL_TYPE(type)==DEF_OBJECT)){
     119                pobj_c=pobj_DBClass->check(ObjName);
     120                if( pobj_c ){
     121                    isStatic = true;
     122                }
     123                else{
     124                    goto finish;
     125                }
    124126            }
    125127        }
Note: See TracChangeset for help on using the changeset viewer.