Bug 114528

Summary: Make CodeGeneratorJS plant comments to explain failures in the binding validation
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: New BugsAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, commit-queue, dgrogan, eric.carlson, jer.noble, jsbell
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch sam: review+

Description Oliver Hunt 2013-04-12 13:12:10 PDT
Make CodeGeneratorJS plant comments to explain failures in the binding validation
Comment 1 Oliver Hunt 2013-04-12 13:13:12 PDT
Created attachment 197878 [details]
Patch
Comment 2 Oliver Hunt 2013-04-12 13:27:27 PDT
Committed r148301: <http://trac.webkit.org/changeset/148301>
Comment 3 David Kilzer (:ddkilzer) 2013-04-12 13:27:56 PDT
Comment on attachment 197878 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=197878&action=review

r=me

> Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:2758
>          push(@implContent, <<END) if $interface->extendedAttributes->{"ImplementationLacksVTable"} && $vtableNameGnu;
>  #if COMPILER(CLANG)
> -        COMPILE_ASSERT(!__is_polymorphic($implType), ${implType}_is_polymorphic_but_idl_claims_not_to_be);
> +    // If you hit this failure the interface definition has the ImplementationLacksVTable
> +    // attribute. You should remove that attribute. If the class has subclasses
> +    // that may be passed through this toJS() function you should use the SkipVTableValidation
> +    // attribute to $interfaceName.
> +    COMPILE_ASSERT(!__is_polymorphic($implType), ${implType}_is_polymorphic_but_idl_claims_not_to_be);
>  #endif
>  END

The bindings test scripts don't appear to cover this test case.  Might be something we want to add in the future.