Title: [105803] trunk/Source/WebCore
Revision
105803
Author
[email protected]
Date
2012-01-24 13:43:43 -0800 (Tue, 24 Jan 2012)

Log Message

[Refactoring] In CodeGeneratorGObject.pm, merge
GeneratePrivateHeader() into WriteData()
https://bugs.webkit.org/show_bug.cgi?id=76923

Reviewed by Adam Barth.

This patch merges GeneratePrivateHeader() into WriteData(),
so that all code to output .h/.cpp is managed by WriteData(),
just like other CodeGenerator*.pm does.

No tests. No change in behavior.
Confirm that GTK/GObject build passes.

* bindings/scripts/CodeGeneratorGObject.pm:
(Generate):
(WriteData): Copied GeneratePrivateHeader() to here.
Removed $hasLegacyParen, $hasRealParent and $hasParent
since they are not used.
(GenerateInterface):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (105802 => 105803)


--- trunk/Source/WebCore/ChangeLog	2012-01-24 21:38:50 UTC (rev 105802)
+++ trunk/Source/WebCore/ChangeLog	2012-01-24 21:43:43 UTC (rev 105803)
@@ -1,3 +1,25 @@
+2012-01-24  Kentaro Hara  <[email protected]>
+
+        [Refactoring] In CodeGeneratorGObject.pm, merge
+        GeneratePrivateHeader() into WriteData()
+        https://bugs.webkit.org/show_bug.cgi?id=76923
+
+        Reviewed by Adam Barth.
+
+        This patch merges GeneratePrivateHeader() into WriteData(),
+        so that all code to output .h/.cpp is managed by WriteData(),
+        just like other CodeGenerator*.pm does.
+
+        No tests. No change in behavior.
+        Confirm that GTK/GObject build passes.
+
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (Generate):
+        (WriteData): Copied GeneratePrivateHeader() to here.
+        Removed $hasLegacyParen, $hasRealParent and $hasParent
+        since they are not used.
+        (GenerateInterface):
+
 2012-01-24  Daniel Cheng  <[email protected]>
 
         dropzone does not normalize type strings

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (105802 => 105803)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2012-01-24 21:38:50 UTC (rev 105802)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2012-01-24 21:43:43 UTC (rev 105803)
@@ -1169,68 +1169,6 @@
     push(@hPrefixGuardEnd, "#endif /* $guard */\n");
 }
 
-sub GeneratePrivateHeader {
-    my $object = shift;
-    my $dataNode = shift;
-
-    my $interfaceName = $dataNode->name;
-    my $filename = "$outputDir/" . $className . "Private.h";
-    my $guard = uc(decamelize($className)) . "_PRIVATE_H";
-    my $parentClassName = GetParentClassName($dataNode);
-    my $hasLegacyParent = $dataNode->extendedAttributes->{"LegacyParent"};
-    my $hasRealParent = @{$dataNode->parents} > 0;
-    my $hasParent = $hasLegacyParent || $hasRealParent;
-    
-    open(PRIVHEADER, ">$filename") or die "Couldn't open file $filename for writing";
-    
-    print PRIVHEADER split("\r", $licenceTemplate);
-    print PRIVHEADER "\n";
-    
-    my $text = << "EOF";
-#ifndef $guard
-#define $guard
-
-#include <glib-object.h>
-#include <webkit/${parentClassName}.h>
-#include "${interfaceName}.h"
-EOF
-
-    print PRIVHEADER $text;
-    
-    print PRIVHEADER map { "#include \"$_\"\n" } sort keys(%hdrPropIncludes);
-    print PRIVHEADER "\n" if keys(%hdrPropIncludes);
-    
-    $text = << "EOF";
-namespace WebKit {
-    ${className} *
-    wrap${interfaceName}(WebCore::${interfaceName} *coreObject);
-
-    WebCore::${interfaceName} *
-    core(${className} *request);
-
-EOF
-
-    print PRIVHEADER $text;
-
-    if ($className ne "WebKitDOMNode") {
-        $text = << "EOF";
-    ${className}*
-    kit(WebCore::${interfaceName}* node);
-
-EOF
-        print PRIVHEADER $text;
-    }
-
-    $text = << "EOF";
-} // namespace WebKit
-
-#endif /* ${guard} */
-EOF
-    print PRIVHEADER $text;
-
-    close(PRIVHEADER);
-}
-
 sub UsesManualKitImplementation {
     my $type = shift;
 
@@ -1346,16 +1284,71 @@
     $object->GenerateHeader($interfaceName, $parentClassName);
     $object->GenerateCFile($interfaceName, $parentClassName, $parentGObjType, $dataNode);
     $object->GenerateEndHeader();
-    $object->GeneratePrivateHeader($dataNode);
-
 }
 
 # Internal helper
 sub WriteData {
-    my ($object, $name) = @_;
+    my $object = shift;
+    my $dataNode = shift;
 
+    # Write a private header.
+    my $interfaceName = $dataNode->name;
+    my $filename = "$outputDir/" . $className . "Private.h";
+    my $guard = uc(decamelize($className)) . "_PRIVATE_H";
+    my $parentClassName = GetParentClassName($dataNode);
+
+    open(PRIVHEADER, ">$filename") or die "Couldn't open file $filename for writing";
+
+    print PRIVHEADER split("\r", $licenceTemplate);
+    print PRIVHEADER "\n";
+
+    my $text = << "EOF";
+#ifndef $guard
+#define $guard
+
+#include <glib-object.h>
+#include <webkit/${parentClassName}.h>
+#include "${interfaceName}.h"
+EOF
+
+    print PRIVHEADER $text;
+    print PRIVHEADER map { "#include \"$_\"\n" } sort keys(%hdrPropIncludes);
+    print PRIVHEADER "\n" if keys(%hdrPropIncludes);
+    $text = << "EOF";
+namespace WebKit {
+    ${className} *
+    wrap${interfaceName}(WebCore::${interfaceName} *coreObject);
+
+    WebCore::${interfaceName} *
+    core(${className} *request);
+
+EOF
+
+    print PRIVHEADER $text;
+
+    if ($className ne "WebKitDOMNode") {
+        $text = << "EOF";
+    ${className}*
+    kit(WebCore::${interfaceName}* node);
+
+EOF
+        print PRIVHEADER $text;
+    }
+
+    $text = << "EOF";
+} // namespace WebKit
+
+#endif /* ${guard} */
+EOF
+    print PRIVHEADER $text;
+
+    close(PRIVHEADER);
+
+    my $basename = FileNamePrefix . $interfaceName;
+    $basename =~ s/_//g;
+
     # Write public header.
-    my $hdrFName = "$outputDir/" . $name . ".h";
+    my $hdrFName = "$outputDir/" . $basename . ".h";
     open(HEADER, ">$hdrFName") or die "Couldn't open file $hdrFName";
 
     print HEADER @hPrefix;
@@ -1373,7 +1366,7 @@
     close(HEADER);
 
     # Write the implementation sources
-    my $implFileName = "$outputDir/" . $name . ".cpp";
+    my $implFileName = "$outputDir/" . $basename . ".cpp";
     open(IMPL, ">$implFileName") or die "Couldn't open file $implFileName";
 
     print IMPL @cPrefix;
@@ -1404,16 +1397,12 @@
 
 sub GenerateInterface {
     my ($object, $dataNode, $defines) = @_;
-    my $name = $dataNode->name;
 
     # Set up some global variables
     $className = GetClassName($dataNode->name);
-    $object->Generate($dataNode);
 
-    # Write changes
-    my $fname = FileNamePrefix . $name;
-    $fname =~ s/_//g;
-    $object->WriteData($fname);
+    $object->Generate($dataNode);
+    $object->WriteData($dataNode);
 }
 
 1;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to