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 |