Changeset 94 in dev for BasicCompiler64/NumOpe.cpp


Ignore:
Timestamp:
Apr 14, 2007, 8:36:04 PM (18 years ago)
Author:
dai_9181
Message:

New[]を禁止した。
一部の動的型情報が生成されないバグを修正。
As演算子によるダウンキャストを許可(プログラム的なチェックはまだ走っていない)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler64/NumOpe.cpp

    r93 r94  
    249249                        // 同一の型、またはNothingに対するAsはAs演算子を呼び出さない
    250250                }
     251                else if( idCalc == CALC_AS
     252                    && type_stack[sp-1] == ( DEF_OBJECT | FLAG_CAST )
     253                    && ( ((CClass *)index_stack[sp-1])->IsEqualsOrSubClass( (CClass *)index_stack[sp-2] ) || ((CClass *)index_stack[sp-2])->IsEqualsOrSubClass( (CClass *)index_stack[sp-1] )
     254                    )){
     255                        // ダウンキャストを許可する
     256                }
    251257                else{
    252258                    //オーバーロードされたオペレータを呼び出す
Note: See TracChangeset for help on using the changeset viewer.