From 99fec393722cbc2840f6c12ae5cde1f90690135d Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Thu, 14 Feb 2013 14:18:34 +0100 Subject: [PATCH] Remove another virtual Change-Id: I185be24d4c09d2078c3459460875c4711bf17ddb Reviewed-by: Simon Hausmann --- src/v4/qv4errorobject.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/v4/qv4errorobject.h b/src/v4/qv4errorobject.h index 2be3242..ae132a9 100644 --- a/src/v4/qv4errorobject.h +++ b/src/v4/qv4errorobject.h @@ -49,6 +49,8 @@ QT_BEGIN_NAMESPACE namespace QQmlJS { namespace VM { +struct SyntaxErrorObject; + struct ErrorObject: Object { enum ErrorType { Error, @@ -62,7 +64,7 @@ struct ErrorObject: Object { ErrorObject(ExecutionEngine* engine, const Value &message); - virtual struct SyntaxErrorObject *asSyntaxError() { return 0; } + SyntaxErrorObject *asSyntaxError(); protected: void setNameProperty(ExecutionContext *ctx); @@ -86,7 +88,6 @@ struct SyntaxErrorObject: ErrorObject { SyntaxErrorObject(ExecutionContext *ctx, DiagnosticMessage *msg); ~SyntaxErrorObject() { delete msg; } - virtual SyntaxErrorObject *asSyntaxError() { return this; } DiagnosticMessage *message() { return msg; } private: @@ -221,6 +222,11 @@ struct URIErrorPrototype: URIErrorObject }; +inline SyntaxErrorObject *ErrorObject::asSyntaxError() +{ + return subtype == SyntaxError ? static_cast(this) : 0; +} + } // end of namespace VM } // end of namespace QQmlJS -- 2.7.4