Title: [135426] trunk
Revision
135426
Author
[email protected]
Date
2012-11-21 12:29:21 -0800 (Wed, 21 Nov 2012)

Log Message

Remove $outputDir and $outputHeadersDir from global variables of code generators
https://bugs.webkit.org/show_bug.cgi?id=102492

Reviewed by Adam Barth.

$outputDir and $outputHeadersDir are used in WriteData() only.
We don't need to use global variables for them.

No tests. No change in behavior.

* bindings/scripts/CodeGenerator.pm:
(ProcessDocument):
(FileNamePrefix):
* bindings/scripts/CodeGeneratorCPP.pm:
(new):
(GenerateInterface):
(WriteData):
* bindings/scripts/CodeGeneratorGObject.pm:
(new):
(WriteData):
(GenerateInterface):
* bindings/scripts/CodeGeneratorJS.pm:
(new):
(GenerateInterface):
(WriteData):
* bindings/scripts/CodeGeneratorObjC.pm:
(new):
(GenerateInterface):
(WriteData):
* bindings/scripts/CodeGeneratorV8.pm:
(new):
(GenerateInterface):
(WriteData):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (135425 => 135426)


--- trunk/Source/WebCore/ChangeLog	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/ChangeLog	2012-11-21 20:29:21 UTC (rev 135426)
@@ -1,3 +1,39 @@
+2012-11-21  Kentaro Hara  <[email protected]>
+
+        Remove $outputDir and $outputHeadersDir from global variables of code generators
+        https://bugs.webkit.org/show_bug.cgi?id=102492
+
+        Reviewed by Adam Barth.
+
+        $outputDir and $outputHeadersDir are used in WriteData() only.
+        We don't need to use global variables for them.
+
+        No tests. No change in behavior.
+
+        * bindings/scripts/CodeGenerator.pm:
+        (ProcessDocument):
+        (FileNamePrefix):
+        * bindings/scripts/CodeGeneratorCPP.pm:
+        (new):
+        (GenerateInterface):
+        (WriteData):
+        * bindings/scripts/CodeGeneratorGObject.pm:
+        (new):
+        (WriteData):
+        (GenerateInterface):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        (new):
+        (GenerateInterface):
+        (WriteData):
+        * bindings/scripts/CodeGeneratorObjC.pm:
+        (new):
+        (GenerateInterface):
+        (WriteData):
+        * bindings/scripts/CodeGeneratorV8.pm:
+        (new):
+        (GenerateInterface):
+        (WriteData):
+
 2012-11-21  Joshua Bell  <[email protected]>
 
         Remove IDBDatabaseException

Modified: trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -124,7 +124,7 @@
     require $ifaceName . ".pm";
 
     # Dynamically load external code generation perl module
-    $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose, $targetIdlFilePath);
+    $codeGenerator = $ifaceName->new($object, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose, $targetIdlFilePath);
     unless (defined($codeGenerator)) {
         my $interfaces = $useDocument->interfaces;
         foreach my $interface (@$interfaces) {
@@ -137,6 +137,7 @@
     foreach my $interface (@$interfaces) {
         print "Generating $useGenerator bindings code for IDL interface \"" . $interface->name . "\"...\n" if $verbose;
         $codeGenerator->GenerateInterface($interface, $defines);
+        $codeGenerator->WriteData($interface, $useOutputDir, $useOutputHeadersDir);
     }
 }
 
@@ -148,7 +149,7 @@
     require $ifaceName . ".pm";
 
     # Dynamically load external code generation perl module
-    $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
+    $codeGenerator = $ifaceName->new($object, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
     return $codeGenerator->FileNamePrefix();
 }
 

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -28,7 +28,6 @@
 use constant FileNamePrefix => "WebDOM";
 
 # Global Variables
-my $outputDir = "";
 
 my @headerContentHeader = ();
 my @headerContent = ();
@@ -96,8 +95,6 @@
     my $reference = { };
 
     $codeGenerator = shift;
-    $outputDir = shift;
-    shift; # $outputHeadersDir
     shift; # $useLayerOnTop
     shift; # $preprocessor
     shift; # $writeDependencies
@@ -116,12 +113,8 @@
     my $className = GetClassName($name);
     my $parentClassName = "WebDOM" . GetParentImplClassName($interface);
 
-    # Start actual generation.
     $object->GenerateHeader($interface);
     $object->GenerateImplementation($interface);
-
-    # Write changes.
-    $object->WriteData(FileNamePrefix . $name);
 }
 
 sub GetClassName
@@ -935,15 +928,17 @@
     push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString;
 }
 
-# Internal helper
 sub WriteData
 {
     my $object = shift;
-    my $name = shift;
+    my $dataNode = shift;
+    my $outputDir = shift;
 
     # Open files for writing...
-    my $headerFileName = "$outputDir/" . $name . ".h";
-    my $implFileName = "$outputDir/" . $name . ".cpp";
+    my $name = $dataNode->name;
+    my $prefix = FileNamePrefix;
+    my $headerFileName = "$outputDir/$prefix$name.h";
+    my $implFileName = "$outputDir/$prefix$name.cpp";
 
     # Update a .h file if the contents are changed.
     my $contents = join "", @headerContentHeader;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -45,8 +45,6 @@
     my $reference = { };
 
     $codeGenerator = shift;
-    $outputDir = shift;
-    mkdir $outputDir;
 
     bless($reference, $object);
 }
@@ -1316,10 +1314,11 @@
     $object->GenerateEndHeader();
 }
 
-# Internal helper
 sub WriteData {
     my $object = shift;
     my $interface = shift;
+    my $outputDir = shift;
+    mkdir $outputDir;
 
     # Write a private header.
     my $interfaceName = $interface->name;
@@ -1433,7 +1432,6 @@
     $className = GetClassName($interface->name);
 
     $object->Generate($interface);
-    $object->WriteData($interface);
 }
 
 1;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -32,7 +32,6 @@
 
 my $codeGenerator;
 
-my $outputDir = "";
 my $writeDependencies = 0;
 
 my @headerContentHeader = ();
@@ -77,8 +76,6 @@
     my $reference = { };
 
     $codeGenerator = shift;
-    $outputDir = shift;
-    shift; # $outputHeadersDir
     shift; # $useLayerOnTop
     shift; # $preprocessor
     $writeDependencies = shift;
@@ -108,8 +105,6 @@
         $object->GenerateHeader($interface);
         $object->GenerateImplementation($interface);
     }
-
-    $object->WriteData($interface);
 }
 
 sub GenerateAttributeEventListenerCall
@@ -3535,11 +3530,11 @@
     return $hash;
 }
 
-# Internal helper
 sub WriteData
 {
     my $object = shift;
     my $interface = shift;
+    my $outputDir = shift;
 
     my $name = $interface->name;
     my $prefix = FileNamePrefix;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -29,7 +29,6 @@
 use constant FileNamePrefix => "DOM";
 
 # Global Variables
-my $outputDir = "";
 my $writeDependencies = 0;
 my %publicInterfaces = ();
 my $newPublicClass = 0;
@@ -195,8 +194,6 @@
     my $reference = { };
 
     $codeGenerator = shift;
-    $outputDir = shift;
-    shift; # $outputHeadersDir
     shift; # $useLayerOnTop
     shift; # $preprocessor
     $writeDependencies = shift;
@@ -286,9 +283,6 @@
     $object->GenerateHeader($interface);
     $object->GenerateImplementation($interface) unless $noImpl;
 
-    # Write changes.
-    $object->WriteData(FileNamePrefix . $name);
-
     # Check for missing public API
     if (keys %publicInterfaces > 0) {
         my $missing = join("\n", keys %publicInterfaces);
@@ -1752,14 +1746,17 @@
 sub WriteData
 {
     my $object = shift;
-    my $name = shift;
+    my $dataNode = shift;
+    my $outputDir = shift;
 
     # Open files for writing...
-    my $headerFileName = "$outputDir/" . $name . ".h";
-    my $privateHeaderFileName = "$outputDir/" . $name . "Private.h";
-    my $implFileName = "$outputDir/" . $name . ".mm";
-    my $internalHeaderFileName = "$outputDir/" . $name . "Internal.h";
-    my $depsFileName = "$outputDir/" . $name . ".dep";
+    my $name = $dataNode->name;
+    my $prefix = FileNamePrefix;
+    my $headerFileName = "$outputDir/$prefix$name.h";
+    my $privateHeaderFileName = "$outputDir/$prefix${name}Private.h";
+    my $implFileName = "$outputDir/$prefix$name.mm";
+    my $internalHeaderFileName = "$outputDir/$prefix${name}Internal.h";
+    my $depsFileName = "$outputDir/$prefix$name.dep";
 
     # Write public header.
     my $contents = join "", @headerContentHeader;

Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm (135425 => 135426)


--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -32,8 +32,6 @@
 
 my $codeGenerator;
 
-my $outputDir = "";
-my $outputHeadersDir = "";
 
 my @headerContent = ();
 my @implContentHeader = ();
@@ -72,8 +70,6 @@
     my $reference = { };
 
     $codeGenerator = shift;
-    $outputDir = shift;
-    $outputHeadersDir = shift;
 
     bless($reference, $object);
     return $reference;
@@ -92,8 +88,6 @@
         $object->GenerateHeader($interface);
         $object->GenerateImplementation($interface);
     }
-
-    $object->WriteData($interface);
 }
 
 sub AddToImplIncludes
@@ -4139,11 +4133,12 @@
     return "toV8($value$getCreationContextArg$getIsolateArg)";
 }
 
-# Internal helper
 sub WriteData
 {
     my $object = shift;
     my $interface = shift;
+    my $outputDir = shift;
+    my $outputHeadersDir = shift;
 
     my $name = $interface->name;
     my $prefix = FileNamePrefix;

Modified: trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm (135425 => 135426)


--- trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm	2012-11-21 20:24:18 UTC (rev 135425)
+++ trunk/Tools/WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm	2012-11-21 20:29:21 UTC (rev 135426)
@@ -30,11 +30,10 @@
 
 sub new
 {
-    my ($class, $codeGenerator, $outputDir, $outputHeaderDir, $layerOnTop, $preprocessor, $writeDependencies, $verbose, $idlFilePath) = @_;
+    my ($class, $codeGenerator, $layerOnTop, $preprocessor, $writeDependencies, $verbose, $idlFilePath) = @_;
 
     my $reference = {
         codeGenerator => $codeGenerator,
-        outputDir => $outputDir,
         idlFilePath => $idlFilePath,
     };
 
@@ -42,25 +41,21 @@
     return $reference;
 }
 
-sub GenerateModule
+sub GenerateInterface
 {
 }
 
-sub GenerateInterface
+sub WriteData
 {
-    my ($self, $interface, $defines) = @_;
+    my ($self, $interface, $outputDir) = @_;
 
     foreach my $file ($self->_generateHeaderFile($interface), $self->_generateImplementationFile($interface)) {
-        open(FILE, ">", File::Spec->catfile($$self{outputDir}, $$file{name})) or die "Failed to open $$file{name} for writing: $!";
+        open(FILE, ">", File::Spec->catfile($outputDir, $$file{name})) or die "Failed to open $$file{name} for writing: $!";
         print FILE @{$$file{contents}};
         close(FILE) or die "Failed to close $$file{name} after writing: $!";
     }
 }
 
-sub finish
-{
-}
-
 sub _className
 {
     my ($idlType) = @_;
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to