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