Changeset 94 in dev for BasicCompiler32/NumOpe.cpp


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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • BasicCompiler32/NumOpe.cpp

    r93 r94  
    224224                    || isNothing_stack[sp-2] ){
    225225                        // 同一の型、またはNothingに対するAsはAs演算子を呼び出さない
     226                }
     227                else if( idCalc == CALC_AS
     228                    && type_stack[sp-1] == ( DEF_OBJECT | FLAG_CAST )
     229                    && ( ((CClass *)index_stack[sp-1])->IsEqualsOrSubClass( (CClass *)index_stack[sp-2] ) || ((CClass *)index_stack[sp-2])->IsEqualsOrSubClass( (CClass *)index_stack[sp-1] )
     230                    )){
     231                        // ダウンキャストを許可する
    226232                }
    227233                else{
Note: See TracChangeset for help on using the changeset viewer.