| Index: tools/js2c.py
 | 
| diff --git a/tools/js2c.py b/tools/js2c.py
 | 
| index 60f088b7e1da4b1dbfd3c95a6981b17417271173..77485f6e22f5f698cbf7632c3fd7a3972ee6d2c2 100755
 | 
| --- a/tools/js2c.py
 | 
| +++ b/tools/js2c.py
 | 
| @@ -218,6 +218,27 @@ def ExpandInlineMacros(lines):
 | 
|      lines = ExpandMacroDefinition(lines, pos, name_pattern, macro, non_expander)
 | 
|  
 | 
|  
 | 
| +INLINE_CONSTANT_PATTERN = re.compile(r'const\s+([a-zA-Z0-9_]+)\s*=\s*([^;\n]+)[;\n]')
 | 
| +
 | 
| +def ExpandInlineConstants(lines):
 | 
| +  pos = 0
 | 
| +  while True:
 | 
| +    const_match = INLINE_CONSTANT_PATTERN.search(lines, pos)
 | 
| +    if const_match is None:
 | 
| +      # no more constants
 | 
| +      return lines
 | 
| +    name = const_match.group(1)
 | 
| +    replacement = const_match.group(2)
 | 
| +    name_pattern = re.compile("\\b%s\\b" % name)
 | 
| +
 | 
| +    # remove constant definition and replace
 | 
| +    lines = (lines[:const_match.start()] +
 | 
| +             re.sub(name_pattern, replacement, lines[const_match.end():]))
 | 
| +
 | 
| +    # advance position to where the constant defintion was
 | 
| +    pos = const_match.start()
 | 
| +
 | 
| +
 | 
|  HEADER_TEMPLATE = """\
 | 
|  // Copyright 2011 Google Inc. All Rights Reserved.
 | 
|  
 | 
| @@ -333,6 +354,7 @@ def BuildFilterChain(macro_filename):
 | 
|    filter_chain.extend([
 | 
|      RemoveCommentsAndTrailingWhitespace,
 | 
|      ExpandInlineMacros,
 | 
| +    ExpandInlineConstants,
 | 
|      Validate,
 | 
|      jsmin.JavaScriptMinifier().JSMinify
 | 
|    ])
 | 
| 
 |