I think it can be done by checking the vtable pointer if the classes are 
virtual.



From: Sam Weinig
Sent: ‎Monday‎, ‎September‎ ‎30‎, ‎2013 ‎12‎:‎53‎ ‎PM
To: Gyuyoung Kim
Cc: Webkit Development List



On Sep 30, 2013, at 3:39 AM, Gyuyoung Kim <gyuyoung....@webkit.org> wrote:

> Hello WebKittens,
> 
> I have focused on using toFoo() for SVG and CSS instead of using 
> static_cast<>.  Because I think there are some advantages when we use it.
> 
>   - Bad type cast can be detected by using ASSERTION in toFoo(). The toFoo() 
> function has an ASSERTION to check if source value is a proper super class.
>   - Unnecessary local variables can be removed. There are some local 
> variables, which are only used once in WebKit. In those cases, we don’t need 
> to use a local variable. Besides, we can remove unnecessary ASSERTION because 
> toFoo() already has it.
>   - I believe toFoo() can improve code readability.
> 
> Currently, HTML, SVG Elements support toHTML|SVGFooElement() and CSSValue 
> also starts to support toCSSFooValue(). Please check if there is toFoo() when 
> you need to use static_cast<> in HTML, SVG and CSS module.

Nice.

> 
> Finally I plan to add this toFoo() policy to the WebKit style checker.

Can you explain more about this?  How are you going to determine static_casts 
that are acceptable from ones that aren’t.

-Sam

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to