Changeset 112036 in webkit
- Timestamp:
- Mar 25, 2012 1:00:03 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r112035 r112036 1 2012-03-25 Kentaro Hara <haraken@chromium.org> 2 3 Remove duplicated GenerateConditionalString() from code generators 4 https://bugs.webkit.org/show_bug.cgi?id=82148 5 6 Reviewed by Adam Barth. 7 8 Previously GenerateConditionalString()s were defined in each code generator, 9 and they were doing the same thing. This patch puts GenerateConditionalString() 10 in CodeGenerator.pm and removes duplicated GenerateConditionalString()s. 11 12 No tests. No change in the generated code. 13 14 * bindings/scripts/CodeGenerator.pm: 15 (GenerateConditionalString): 16 * bindings/scripts/CodeGeneratorCPP.pm: 17 (GenerateHeader): 18 (GenerateImplementation): 19 * bindings/scripts/CodeGeneratorGObject.pm: 20 (GenerateProperty): 21 (GenerateProperties): 22 (GenerateFunction): 23 (WriteData): 24 * bindings/scripts/CodeGeneratorJS.pm: 25 (GenerateHeaderContentHeader): 26 (GenerateImplementationContentHeader): 27 (GenerateHeader): 28 (GenerateImplementation): 29 (GenerateCallbackHeader): 30 (GenerateCallbackImplementation): 31 * bindings/scripts/CodeGeneratorObjC.pm: 32 (GenerateHeader): 33 (GenerateImplementation): 34 * bindings/scripts/CodeGeneratorV8.pm: 35 (GenerateHeader): 36 (GenerateNormalAttrGetter): 37 (GenerateNormalAttrSetter): 38 (GenerateOverloadedFunctionCallback): 39 (GenerateFunctionCallback): 40 (GenerateBatchedAttributeData): 41 (GenerateImplementation): 42 (GenerateHeaderContentHeader): 43 (GenerateImplementationContentHeader): 44 (GenerateCallbackHeader): 45 (GenerateCallbackImplementation): 46 1 47 2012-03-25 Kentaro Hara <haraken@chromium.org> 2 48 -
trunk/Source/WebCore/bindings/scripts/CodeGenerator.pm
r111865 r112036 605 605 } 606 606 607 sub GenerateConditionalString 608 { 609 my $generator = shift; 610 my $node = shift; 611 612 my $conditional = $node->extendedAttributes->{"Conditional"}; 613 if ($conditional) { 614 return $generator->GenerateConditionalStringFromAttributeValue($conditional); 615 } else { 616 return ""; 617 } 618 } 619 607 620 sub GenerateConditionalStringFromAttributeValue 608 621 { -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorCPP.pm
r111745 r112036 308 308 } 309 309 310 sub GenerateConditionalString311 {312 my $node = shift;313 my $conditional = $node->extendedAttributes->{"Conditional"};314 if ($conditional) {315 return $codeGenerator->GenerateConditionalStringFromAttributeValue($conditional);316 } else {317 return "";318 }319 }320 321 310 sub GetNamespaceForClass 322 311 { … … 352 341 push(@headerContentHeader, "\n#define $className" . "_h\n\n"); 353 342 354 my $conditionalString = GenerateConditionalString($dataNode);343 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 355 344 push(@headerContentHeader, "#if ${conditionalString}\n\n") if $conditionalString; 356 345 … … 429 418 next if ShouldSkipType($attribute); 430 419 431 my $attributeConditionalString = GenerateConditionalString($attribute->signature);420 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 432 421 my $attributeName = $attribute->signature->name; 433 422 my $attributeType = GetCPPType($attribute->signature->type, 0); … … 497 486 } 498 487 499 my $conditionalString = GenerateConditionalString($function->signature);488 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 500 489 push(@headerFunctions, "#if ${conditionalString}\n") if $conditionalString; 501 490 push(@headerFunctions, " "); … … 604 593 # - INCLUDES - 605 594 push(@implContentHeader, "\n#include \"config.h\"\n"); 606 my $conditionalString = GenerateConditionalString($dataNode);595 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 607 596 push(@implContentHeader, "\n#if ${conditionalString}\n\n") if $conditionalString; 608 597 push(@implContentHeader, "#include \"$className.h\"\n\n"); … … 721 710 722 711 my $getterContent = "${getterContentHead}${functionName}(" . join(", ", @arguments) . ")${getterContentTail}"; 723 my $attributeConditionalString = GenerateConditionalString($attribute->signature);712 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 724 713 push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString; 725 714 … … 890 879 } 891 880 892 my $conditionalString = GenerateConditionalString($function->signature);881 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 893 882 push(@implContent, "\n#if ${conditionalString}\n") if $conditionalString; 894 883 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm
r111914 r112036 343 343 } 344 344 345 sub GenerateConditionalString346 {347 my $node = shift;348 my $conditional = $node->extendedAttributes->{"Conditional"};349 if ($conditional) {350 if ($conditional =~ /&/) {351 return "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";352 } elsif ($conditional =~ /\|/) {353 return "ENABLE(" . join(") || ENABLE(", split(/\|/, $conditional)) . ")";354 } else {355 return "ENABLE(" . $conditional . ")";356 }357 } else {358 return "";359 }360 }361 362 345 sub GenerateConditionalWarning 363 346 { … … 391 374 my @writeableProperties = @{shift @_}; 392 375 393 my $conditionalString = GenerateConditionalString($attribute->signature);376 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 394 377 my $camelPropName = $attribute->signature->name; 395 378 my $setPropNameFunction = $codeGenerator->WK_ucfirst($camelPropName); … … 530 513 my $conditionGuardStart = ""; 531 514 my $conditionGuardEnd = ""; 532 my $conditionalString = GenerateConditionalString($dataNode);515 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 533 516 if ($conditionalString) { 534 517 $conditionGuardStart = "#if ${conditionalString}"; … … 794 777 my $returnValueIsGDOMType = IsGDOMClassType($functionSigType); 795 778 796 my $conditionalString = GenerateConditionalString($function->signature);797 my $parentConditionalString = GenerateConditionalString($parentNode);779 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 780 my $parentConditionalString = $codeGenerator->GenerateConditionalString($parentNode); 798 781 my @conditionalWarn = GenerateConditionalWarning($function->signature); 799 782 my @parentConditionalWarn = GenerateConditionalWarning($parentNode); … … 1363 1346 1364 1347 # Add the guard if the 'Conditional' extended attribute exists 1365 my $conditionalString = GenerateConditionalString($dataNode);1348 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 1366 1349 1367 1350 open(PRIVHEADER, ">$filename") or die "Couldn't open file $filename for writing"; -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
r111856 r112036 383 383 } 384 384 385 sub GenerateConditionalString386 {387 my $node = shift;388 my $conditional = $node->extendedAttributes->{"Conditional"};389 if ($conditional) {390 return $codeGenerator->GenerateConditionalStringFromAttributeValue($conditional);391 } else {392 return "";393 }394 }395 396 385 sub GenerateGetOwnPropertySlotBody 397 386 { … … 590 579 push(@headerContentHeader, "\n#define $className" . "_h\n\n"); 591 580 592 my $conditionalString = GenerateConditionalString($dataNode);581 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 593 582 push(@headerContentHeader, "#if ${conditionalString}\n\n") if $conditionalString; 594 583 return @headerContentHeader; … … 603 592 604 593 push(@implContentHeader, "\n#include \"config.h\"\n"); 605 my $conditionalString = GenerateConditionalString($dataNode);594 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 606 595 push(@implContentHeader, "\n#if ${conditionalString}\n\n") if $conditionalString; 607 596 push(@implContentHeader, "#include \"$className.h\"\n\n"); … … 846 835 $numCustomAttributes++ if ($attribute->signature->extendedAttributes->{"CustomSetter"} || $attribute->signature->extendedAttributes->{"JSCustomSetter"}); 847 836 if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) { 848 my $conditionalString = GenerateConditionalString($attribute->signature);837 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 849 838 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 850 839 push(@headerContent, " JSC::WriteBarrier<JSC::Unknown> m_" . $attribute->signature->name . ";\n"); … … 866 855 867 856 foreach my $attribute (@{$dataNode->attributes}) { 868 my $conditionalString = GenerateConditionalString($attribute->signature);857 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 869 858 if ($attribute->signature->extendedAttributes->{"Custom"} || $attribute->signature->extendedAttributes->{"JSCustom"} || $attribute->signature->extendedAttributes->{"CustomGetter"} || $attribute->signature->extendedAttributes->{"JSCustomGetter"}) { 870 859 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; … … 890 879 next unless $function->signature->extendedAttributes->{"Custom"} or $function->signature->extendedAttributes->{"JSCustom"}; 891 880 next if $function->{overloads} && $function->{overloadIndex} != 1; 892 my $conditionalString = GenerateConditionalString($function->signature);881 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 893 882 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 894 883 my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementedAs"} || $codeGenerator->WK_lcfirst($function->signature->name); … … 1080 1069 foreach my $function (@{$dataNode->functions}) { 1081 1070 next if $function->{overloadIndex} && $function->{overloadIndex} > 1; 1082 my $conditionalString = GenerateConditionalString($function->signature);1071 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 1083 1072 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 1084 1073 my $functionName = GetFunctionName($className, $function); … … 1091 1080 push(@headerContent,"// Attributes\n\n"); 1092 1081 foreach my $attribute (@{$dataNode->attributes}) { 1093 my $conditionalString = GenerateConditionalString($attribute->signature);1082 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 1094 1083 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 1095 1084 my $getter = "js" . $interfaceName . $codeGenerator->WK_ucfirst($attribute->signature->name) . ($attribute->signature->type =~ /Constructor$/ ? "Constructor" : ""); … … 1116 1105 push(@headerContent,"// Constants\n\n"); 1117 1106 foreach my $constant (@{$dataNode->constants}) { 1118 my $conditionalString = GenerateConditionalString($constant);1107 my $conditionalString = $codeGenerator->GenerateConditionalString($constant); 1119 1108 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 1120 1109 my $getter = "js" . $interfaceName . $codeGenerator->WK_ucfirst($constant->name); … … 1124 1113 } 1125 1114 1126 my $conditionalString = GenerateConditionalString($dataNode);1115 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 1127 1116 push(@headerContent, "\n} // namespace WebCore\n\n"); 1128 1117 push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString; … … 1683 1672 my $implGetterFunctionName = $codeGenerator->WK_lcfirst($name); 1684 1673 1685 my $attributeConditionalString = GenerateConditionalString($attribute->signature);1674 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 1686 1675 push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString; 1687 1676 … … 1874 1863 my $implSetterFunctionName = $codeGenerator->WK_ucfirst($name); 1875 1864 1876 my $attributeConditionalString = GenerateConditionalString($attribute->signature);1865 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 1877 1866 push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString; 1878 1867 … … 2368 2357 push(@implContent, "\n}\n"); 2369 2358 2370 my $conditionalString = GenerateConditionalString($dataNode);2359 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2371 2360 push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString; 2372 2361 } … … 2637 2626 2638 2627 push(@headerContent, "} // namespace WebCore\n\n"); 2639 my $conditionalString = GenerateConditionalString($dataNode);2628 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2640 2629 push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString; 2641 2630 push(@headerContent, "#endif\n"); … … 2731 2720 2732 2721 push(@implContent, "\n}\n"); 2733 my $conditionalString = GenerateConditionalString($dataNode);2722 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2734 2723 push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString; 2735 2724 } -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm
r109515 r112036 270 270 } 271 271 272 sub GenerateConditionalString273 {274 my $node = shift;275 my $conditional = $node->extendedAttributes->{"Conditional"};276 if ($conditional) {277 if ($conditional =~ /&/) {278 return "ENABLE(" . join(") && ENABLE(", split(/&/, $conditional)) . ")";279 } elsif ($conditional =~ /\|/) {280 return "ENABLE(" . join(") || ENABLE(", split(/\|/, $conditional)) . ")";281 } else {282 return "ENABLE(" . $conditional . ")";283 }284 } else {285 return "";286 }287 }288 289 272 # Params: 'domClass' struct 290 273 sub GenerateInterface … … 826 809 push(@privateHeaderAttributes, $property) unless $public; 827 810 } else { 828 my $attributeConditionalString = GenerateConditionalString($attribute->signature);811 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 829 812 if ($attributeConditionalString) { 830 813 push(@headerAttributes, "#if ${attributeConditionalString}\n") if $public; … … 921 904 } 922 905 923 my $functionConditionalString = GenerateConditionalString($function->signature);906 my $functionConditionalString = $codeGenerator->GenerateConditionalString($function->signature); 924 907 if ($functionConditionalString) { 925 908 push(@headerFunctions, "#if ${functionConditionalString}\n") if $public; … … 1094 1077 push(@implContentHeader, "\n#import \"config.h\"\n"); 1095 1078 1096 my $conditionalString = GenerateConditionalString($dataNode);1079 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 1097 1080 push(@implContentHeader, "\n#if ${conditionalString}\n\n") if $conditionalString; 1098 1081 … … 1364 1347 } 1365 1348 1366 my $attributeConditionalString = GenerateConditionalString($attribute->signature);1349 my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 1367 1350 push(@implContent, "#if ${attributeConditionalString}\n") if $attributeConditionalString; 1368 1351 push(@implContent, $getterSig); … … 1693 1676 } 1694 1677 1695 my $conditionalString = GenerateConditionalString($function->signature);1678 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 1696 1679 push(@implContent, "\n#if ${conditionalString}\n") if $conditionalString; 1697 1680 -
trunk/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
r111825 r112036 182 182 } 183 183 184 sub GenerateConditionalString185 {186 my $node = shift;187 my $conditional = $node->extendedAttributes->{"Conditional"};188 if ($conditional) {189 return $codeGenerator->GenerateConditionalStringFromAttributeValue($conditional);190 } else {191 return "";192 }193 }194 195 184 sub GetSVGPropertyTypes 196 185 { … … 366 355 367 356 if (($attrExt->{"Custom"} || $attrExt->{"V8Custom"}) && !$attrExt->{"ImplementedBy"} && $function->{overloadIndex} == 1) { 368 my $conditionalString = GenerateConditionalString($function->signature);357 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 369 358 push(@headerContent, "#if ${conditionalString}\n") if $conditionalString; 370 359 push(@headerContent, <<END); … … 388 377 my $name = $attribute->signature->name; 389 378 my $attrExt = $attribute->signature->extendedAttributes; 390 my $conditionalString = GenerateConditionalString($attribute->signature);379 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 391 380 if (($attrExt->{"V8CustomGetter"} || $attrExt->{"CustomGetter"} || 392 381 $attrExt->{"V8Custom"} || $attrExt->{"Custom"}) && … … 500 489 push(@headerContent, "#endif // $className" . "_h\n"); 501 490 502 my $conditionalString = GenerateConditionalString($dataNode);491 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 503 492 push(@headerContent, "#endif // ${conditionalString}\n\n") if $conditionalString; 504 493 } … … 787 776 788 777 # Getter 789 my $conditionalString = GenerateConditionalString($attribute->signature);778 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 790 779 push(@implContentDecls, "#if ${conditionalString}\n\n") if $conditionalString; 791 780 … … 1028 1017 my $attrExt = $attribute->signature->extendedAttributes; 1029 1018 1030 my $conditionalString = GenerateConditionalString($attribute->signature);1019 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 1031 1020 push(@implContentDecls, "#if ${conditionalString}\n\n") if $conditionalString; 1032 1021 … … 1329 1318 1330 1319 my $name = $function->signature->name; 1331 my $conditionalString = GenerateConditionalString($function->signature);1320 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 1332 1321 push(@implContentDecls, "#if ${conditionalString}\n\n") if $conditionalString; 1333 1322 push(@implContentDecls, <<END); … … 1375 1364 } 1376 1365 1377 my $conditionalString = GenerateConditionalString($function->signature);1366 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 1378 1367 push(@implContentDecls, "#if ${conditionalString}\n\n") if $conditionalString; 1379 1368 push(@implContentDecls, <<END); … … 1998 1987 1999 1988 foreach my $attribute (@$attributes) { 2000 my $conditionalString = GenerateConditionalString($attribute->signature);1989 my $conditionalString = $codeGenerator->GenerateConditionalString($attribute->signature); 2001 1990 push(@implContent, "#if ${conditionalString}\n") if $conditionalString; 2002 1991 GenerateSingleBatchedAttribute($interfaceName, $attribute, ",", ""); … … 2492 2481 my $name = $function->signature->name; 2493 2482 my $callback = GetFunctionTemplateCallbackName($function, $interfaceName); 2494 my $conditionalString = GenerateConditionalString($function->signature);2483 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 2495 2484 push(@implContent, "#if ${conditionalString}\n") if $conditionalString; 2496 2485 push(@implContent, <<END); … … 2639 2628 foreach my $runtime_attr (@enabledAtRuntime) { 2640 2629 my $enable_function = GetRuntimeEnableFunctionName($runtime_attr->signature); 2641 my $conditionalString = GenerateConditionalString($runtime_attr->signature);2630 my $conditionalString = $codeGenerator->GenerateConditionalString($runtime_attr->signature); 2642 2631 push(@implContent, "\n#if ${conditionalString}\n") if $conditionalString; 2643 2632 push(@implContent, " if (${enable_function}()) {\n"); … … 2654 2643 foreach my $runtime_const (@constantsEnabledAtRuntime) { 2655 2644 my $enable_function = GetRuntimeEnableFunctionName($runtime_const); 2656 my $conditionalString = GenerateConditionalString($runtime_const);2645 my $conditionalString = $codeGenerator->GenerateConditionalString($runtime_const); 2657 2646 my $name = $runtime_const->name; 2658 2647 my $value = $runtime_const->value; … … 2757 2746 } 2758 2747 2759 my $conditionalString = GenerateConditionalString($function->signature);2748 my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature); 2760 2749 push(@implContent, "#if ${conditionalString}\n") if $conditionalString; 2761 2750 … … 2893 2882 END 2894 2883 2895 my $conditionalString = GenerateConditionalString($dataNode);2884 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2896 2885 push(@implContent, "\n#endif // ${conditionalString}\n") if $conditionalString; 2897 2886 … … 2905 2894 my $dataNode = shift; 2906 2895 my $className = "V8" . $dataNode->name; 2907 my $conditionalString = GenerateConditionalString($dataNode);2896 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2908 2897 2909 2898 my @headerContentHeader = split("\r", $headerTemplate); … … 2919 2908 my $dataNode = shift; 2920 2909 my $className = "V8" . $dataNode->name; 2921 my $conditionalString = GenerateConditionalString($dataNode);2910 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 2922 2911 2923 2912 my @implContentHeader = split("\r", $headerTemplate); … … 3002 2991 push(@headerContent, "#endif // $className" . "_h\n\n"); 3003 2992 3004 my $conditionalString = GenerateConditionalString($dataNode);2993 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 3005 2994 push(@headerContent, "#endif // ${conditionalString}\n") if $conditionalString; 3006 2995 } … … 3096 3085 push(@implContent, "\n} // namespace WebCore\n\n"); 3097 3086 3098 my $conditionalString = GenerateConditionalString($dataNode);3087 my $conditionalString = $codeGenerator->GenerateConditionalString($dataNode); 3099 3088 push(@implContent, "#endif // ${conditionalString}\n") if $conditionalString; 3100 3089 }
Note: See TracChangeset
for help on using the changeset viewer.