diff options
Diffstat (limited to 'src/qml/qml/v4/qv4ir.cpp')
-rw-r--r-- | src/qml/qml/v4/qv4ir.cpp | 12 |
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: |