|
@@ -1061,12 +1061,12 @@ Type TLongIntType Extends TIntegralType
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method ExtendsType:Int( ty:TType, noExtendString:Int = False, widensTest:Int = False )
|
|
Method ExtendsType:Int( ty:TType, noExtendString:Int = False, widensTest:Int = False )
|
|
- If _flags & T_VARPTR And (TIntType(ty) <> Null Or IsPointerType(ty, 0, T_POINTER)) Return True
|
|
|
|
|
|
+ If _flags & T_VARPTR And (TLongIntType(ty) <> Null Or IsPointerType(ty, 0, T_POINTER)) Return True
|
|
Return (widensTest And WidensToType(ty)) Or (Not widensTest And TNumericType( ty )<>Null) Or (Not noExtendString And TStringType( ty )<>Null) Or (WORD_SIZE=4 And TLParamType(ty)<>Null)
|
|
Return (widensTest And WidensToType(ty)) Or (Not widensTest And TNumericType( ty )<>Null) Or (Not noExtendString And TStringType( ty )<>Null) Or (WORD_SIZE=4 And TLParamType(ty)<>Null)
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method WidensToType:Int( ty:TType )
|
|
Method WidensToType:Int( ty:TType )
|
|
- Return (IsPointerType(ty, 0, T_POINTER) And IsPointerType(Self, 0, T_POINTER)) Or (TIntType(ty)<>Null And (ty._flags & T_VAR)) Or TLongType(ty)<>Null Or TFloatType(ty)<>Null Or TDoubleType(ty)<>Null Or (WORD_SIZE=8 And TLParamType(ty)<>Null)
|
|
|
|
|
|
+ Return (IsPointerType(ty, 0, T_POINTER) And IsPointerType(Self, 0, T_POINTER)) Or (TLongIntType(ty)<>Null And (ty._flags & T_VAR)) Or TLongType(ty)<>Null Or TFloatType(ty)<>Null Or TDoubleType(ty)<>Null Or (WORD_SIZE=8 And TLParamType(ty)<>Null)
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method DistanceToType:Int(ty:TType)
|
|
Method DistanceToType:Int(ty:TType)
|
|
@@ -1149,12 +1149,12 @@ Type TULongIntType Extends TIntegralType
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method ExtendsType:Int( ty:TType, noExtendString:Int = False, widensTest:Int = False )
|
|
Method ExtendsType:Int( ty:TType, noExtendString:Int = False, widensTest:Int = False )
|
|
- If _flags & T_VARPTR And (TIntType(ty) <> Null Or IsPointerType(ty, 0, T_POINTER)) Return True
|
|
|
|
|
|
+ If _flags & T_VARPTR And (TULongIntType(ty) <> Null Or IsPointerType(ty, 0, T_POINTER)) Return True
|
|
Return (widensTest And WidensToType(ty)) Or (Not widensTest And TNumericType( ty )<>Null) Or (Not noExtendString And TStringType( ty )<>Null) Or (WORD_SIZE=4 And TLParamType(ty)<>Null)
|
|
Return (widensTest And WidensToType(ty)) Or (Not widensTest And TNumericType( ty )<>Null) Or (Not noExtendString And TStringType( ty )<>Null) Or (WORD_SIZE=4 And TLParamType(ty)<>Null)
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method WidensToType:Int( ty:TType )
|
|
Method WidensToType:Int( ty:TType )
|
|
- Return (IsPointerType(ty, 0, T_POINTER) And IsPointerType(Self, 0, T_POINTER)) Or (TIntType(ty)<>Null And (ty._flags & T_VAR)) Or TLongType(ty)<>Null Or TFloatType(ty)<>Null Or TDoubleType(ty)<>Null Or (WORD_SIZE=8 And TLParamType(ty)<>Null)
|
|
|
|
|
|
+ Return (IsPointerType(ty, 0, T_POINTER) And IsPointerType(Self, 0, T_POINTER)) Or (TULongIntType(ty)<>Null And (ty._flags & T_VAR)) Or TULongType(ty)<>Null Or TFloatType(ty)<>Null Or TDoubleType(ty)<>Null Or (WORD_SIZE=8 And TLParamType(ty)<>Null)
|
|
End Method
|
|
End Method
|
|
|
|
|
|
Method DistanceToType:Int(ty:TType)
|
|
Method DistanceToType:Int(ty:TType)
|