Changeset 111 in dev for BasicCompiler_Common/ParamImpl.cpp
- Timestamp:
- May 7, 2007, 2:41:36 AM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler_Common/ParamImpl.cpp
r100 r111 8 8 9 9 #define OVERLOAD_MIN_LEVEL 0 10 #define OVERLOAD_MAX_LEVEL 510 #define OVERLOAD_MAX_LEVEL 6 11 11 #define OVERLOAD_LEVEL0 0 // 型調整なし。厳密に等しい 12 12 #define OVERLOAD_LEVEL1 1 // 型調整なし。レベル1以上はオブジェクトの場合は派生関係を考慮 13 #define OVERLOAD_LEVEL2 2 // 型調整なし。整数型/実数型レベルでの同一性チェック 14 #define OVERLOAD_LEVEL3 3 // 型調整あり。厳密に等しい 15 #define OVERLOAD_LEVEL4 4 // 型調整あり。整数型/実数型レベルでの同一性チェック 16 #define OVERLOAD_LEVEL5 5 // 型調整あり。数値型/クラス型レベルでの同一性チェック 13 #define OVERLOAD_LEVEL2 2 // 型調整なし。整数型/実数型レベルでの同一性チェック(サイズ照合あり) 14 #define OVERLOAD_LEVEL3 3 // 型調整なし。整数型/実数型レベルでの同一性チェック 15 #define OVERLOAD_LEVEL4 4 // 型調整あり。厳密に等しい 16 #define OVERLOAD_LEVEL5 5 // 型調整あり。整数型/実数型レベルでの同一性チェック 17 #define OVERLOAD_LEVEL6 6 // 型調整あり。数値型/クラス型レベルでの同一性チェック 17 18 18 19 ParamImpl::ParamImpl(const char *buffer): … … 128 129 129 130 NumOpe_GetType(Parms[i], 130 ( level <= OVERLOAD_LEVEL 2)? nullParam : param,131 ( level <= OVERLOAD_LEVEL3 )? nullParam : param, 131 132 argType); 132 133 } … … 136 137 137 138 if(argType.GetBasicType()!=param.GetBasicType()){ 138 if( level == OVERLOAD_LEVEL0 || level == OVERLOAD_LEVEL1 || level==OVERLOAD_LEVEL 3){139 if( level == OVERLOAD_LEVEL0 || level == OVERLOAD_LEVEL1 || level==OVERLOAD_LEVEL4 ){ 139 140 return false; 140 141 } 141 else if( level == OVERLOAD_LEVEL2 || level==OVERLOAD_LEVEL4){ 142 else if( level == OVERLOAD_LEVEL2 ){ 143 if( !(argType.IsWhole() && param.IsWhole() && argType.GetBasicSize() == param.GetBasicSize() ) ){ 144 // サイズ違い 145 return false; 146 } 147 } 148 else if( level == OVERLOAD_LEVEL3 || level==OVERLOAD_LEVEL5){ 142 149 if(!( 143 150 argType.IsWhole()&¶m.IsWhole()|| … … 147 154 } 148 155 } 149 else if(level==OVERLOAD_LEVEL 5){156 else if(level==OVERLOAD_LEVEL6){ 150 157 if(argType.IsObject()||param.IsObject()) return false; 151 158 }
Note:
See TracChangeset
for help on using the changeset viewer.