|
@@ -3063,78 +3063,6 @@ Type TSgnExpr Extends TBuiltinExpr
|
|
|
|
|
|
End Type
|
|
End Type
|
|
|
|
|
|
-Type TMinExpr Extends TBuiltinExpr
|
|
|
|
-
|
|
|
|
- Field expr2:TExpr
|
|
|
|
-
|
|
|
|
- Method Create:TMinExpr( lhs:TExpr, rhs:TExpr )
|
|
|
|
- Self.id="min"
|
|
|
|
- Self.expr=lhs
|
|
|
|
- Self.expr2=rhs
|
|
|
|
- Return Self
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method Semant:TExpr()
|
|
|
|
- If exprType Return Self
|
|
|
|
-
|
|
|
|
- expr=expr.Semant()
|
|
|
|
- expr2=expr2.Semant()
|
|
|
|
-
|
|
|
|
- If TInt128Type(expr.exprType) Or TInt128Type(expr2.exprType) Err "'Min' does not support Int128 type. Use specific intrinsic function instead."
|
|
|
|
- If TFloat64Type(expr.exprType) Or TFloat64Type(expr2.exprType) Err "'Min' does not support Float64 type. Use specific intrinsic function instead."
|
|
|
|
- If TFloat128Type(expr.exprType) Or TFloat128Type(expr2.exprType) Err "'Min' does not support Float128 type. Use specific intrinsic function instead."
|
|
|
|
- If TDouble128Type(expr.exprType) Or TDouble128Type(expr2.exprType) Err "'Min' does not support Double128 type. Use specific intrinsic function instead."
|
|
|
|
-
|
|
|
|
- exprType=BalanceTypes(expr.exprType, expr2.exprType)
|
|
|
|
- Return Self
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method Copy:TExpr()
|
|
|
|
- Return New TMinExpr.Create( CopyExpr(expr), CopyExpr(expr2) )
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method ToString$()
|
|
|
|
- Return "TMinExpr("+expr.ToString()+"," + expr2.ToString() + ")"
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
-End Type
|
|
|
|
-
|
|
|
|
-Type TMaxExpr Extends TBuiltinExpr
|
|
|
|
-
|
|
|
|
- Field expr2:TExpr
|
|
|
|
-
|
|
|
|
- Method Create:TMaxExpr( lhs:TExpr, rhs:TExpr )
|
|
|
|
- Self.id="max"
|
|
|
|
- Self.expr=lhs
|
|
|
|
- Self.expr2=rhs
|
|
|
|
- Return Self
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method Semant:TExpr()
|
|
|
|
- If exprType Return Self
|
|
|
|
-
|
|
|
|
- expr=expr.Semant()
|
|
|
|
- expr2=expr2.Semant()
|
|
|
|
-
|
|
|
|
- If TInt128Type(expr.exprType) Or TInt128Type(expr2.exprType) Err "'Max' does not support Int128 type. Use specific intrinsic function instead."
|
|
|
|
- If TFloat64Type(expr.exprType) Or TFloat64Type(expr2.exprType) Err "'Max' does not support Float64 type. Use specific intrinsic function instead."
|
|
|
|
- If TFloat128Type(expr.exprType) Or TFloat128Type(expr2.exprType) Err "'Max' does not support Float128 type. Use specific intrinsic function instead."
|
|
|
|
- If TDouble128Type(expr.exprType) Or TDouble128Type(expr2.exprType) Err "'Max' does not support Double128 type. Use specific intrinsic function instead."
|
|
|
|
-
|
|
|
|
- exprType=BalanceTypes(expr.exprType, expr2.exprType)
|
|
|
|
- Return Self
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method Copy:TExpr()
|
|
|
|
- Return New TMaxExpr.Create( CopyExpr(expr), CopyExpr(expr2) )
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
- Method ToString$()
|
|
|
|
- Return "TMaxExpr("+expr.ToString()+"," + expr2.ToString() + ")"
|
|
|
|
- End Method
|
|
|
|
-
|
|
|
|
-End Type
|
|
|
|
-
|
|
|
|
Type TSizeOfExpr Extends TBuiltinExpr
|
|
Type TSizeOfExpr Extends TBuiltinExpr
|
|
|
|
|
|
Method Create:TSizeOfExpr( expr:TExpr )
|
|
Method Create:TSizeOfExpr( expr:TExpr )
|