| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 # Copyright (C) 2013 Google, Inc. All Rights Reserved. |  | 
| 2 # |  | 
| 3 # Redistribution and use in source and binary forms, with or without |  | 
| 4 # modification, are permitted provided that the following conditions |  | 
| 5 # are met: |  | 
| 6 # 1. Redistributions of source code must retain the above copyright |  | 
| 7 #    notice, this list of conditions and the following disclaimer. |  | 
| 8 # 2. Redistributions in binary form must reproduce the above copyright |  | 
| 9 #    notice, this list of conditions and the following disclaimer in the |  | 
| 10 #    documentation and/or other materials provided with the distribution. |  | 
| 11 # |  | 
| 12 # THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY |  | 
| 13 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |  | 
| 14 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |  | 
| 15 # PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR |  | 
| 16 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |  | 
| 17 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |  | 
| 18 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |  | 
| 19 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |  | 
| 20 # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |  | 
| 21 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |  | 
| 22 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |  | 
| 23 |  | 
| 24 package StaticString; |  | 
| 25 |  | 
| 26 use strict; |  | 
| 27 use Hasher; |  | 
| 28 |  | 
| 29 sub GenerateStringImpls($) |  | 
| 30 { |  | 
| 31     my $stringsRef = shift; |  | 
| 32     my %strings = %$stringsRef; |  | 
| 33 |  | 
| 34     my @result = (); |  | 
| 35 |  | 
| 36     push(@result, "\n"); |  | 
| 37 |  | 
| 38     while ( my ($name, $value) = each %strings ) { |  | 
| 39         my $length = length($value); |  | 
| 40         my $hash = Hasher::GenerateHashValue($value); |  | 
| 41         push(@result, "    StringImpl* ${name}Impl = StringImpl::createStatic(\"
    $value\", $length, $hash);\n"); |  | 
| 42     } |  | 
| 43 |  | 
| 44     push(@result, "\n"); |  | 
| 45 |  | 
| 46     return join "", @result; |  | 
| 47 } |  | 
| 48 |  | 
| 49 1; |  | 
| OLD | NEW | 
|---|