aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/v4/qv4ir.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/v4/qv4ir.cpp')
-rw-r--r--src/qml/qml/v4/qv4ir.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/qml/qml/v4/qv4ir.cpp b/src/qml/qml/v4/qv4ir.cpp
index 68175d3bf4..54679c3d8c 100644
--- a/src/qml/qml/v4/qv4ir.cpp
+++ b/src/qml/qml/v4/qv4ir.cpp
@@ -219,10 +219,18 @@ void Name::init(Name *base, Type type, const QString *id, Symbol symbol, quint32
builtin = MathSinBultinFunction;
} else if (id->length() == 8 && *id == QLatin1String("Math.cos")) {
builtin = MathCosBultinFunction;
+ } else if (id->length() == 8 && *id == QLatin1String("Math.abs")) {
+ builtin = MathAbsBuiltinFunction;
} else if (id->length() == 10 && *id == QLatin1String("Math.round")) {
builtin = MathRoundBultinFunction;
} else if (id->length() == 10 && *id == QLatin1String("Math.floor")) {
builtin = MathFloorBultinFunction;
+ } else if (id->length() == 9 && *id == QLatin1String("Math.ceil")) {
+ builtin = MathCeilBuiltinFunction;
+ } else if (id->length() == 8 && *id == QLatin1String("Math.max")) {
+ builtin = MathMaxBuiltinFunction;
+ } else if (id->length() == 8 && *id == QLatin1String("Math.min")) {
+ builtin = MathMinBuiltinFunction;
} else if (id->length() == 7 && *id == QLatin1String("Math.PI")) {
builtin = MathPIBuiltinConstant;
this->type = RealType;
@@ -353,10 +361,14 @@ Type Call::typeForFunction(Expr *base)
switch (name->builtin) {
case MathSinBultinFunction:
case MathCosBultinFunction:
+ case MathAbsBuiltinFunction: //### type could also be Int if input was Int
+ case MathMaxBuiltinFunction:
+ case MathMinBuiltinFunction:
return RealType;
case MathRoundBultinFunction:
case MathFloorBultinFunction:
+ case MathCeilBuiltinFunction:
return IntType;
case NoBuiltinSymbol: