Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(124)

Side by Side Diff: tools/json_schema_compiler/code.py

Issue 11827026: Overhaul JSON Schema Compiler to support a number of features required to (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: yoz Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 class Code(object): 5 class Code(object):
6 """A convenience object for constructing code. 6 """A convenience object for constructing code.
7 7
8 Logically each object should be a block of code. All methods except |Render| 8 Logically each object should be a block of code. All methods except |Render|
9 and |IsEmpty| return self. 9 and |IsEmpty| return self.
10 """ 10 """
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 if line.substitute: 47 if line.substitute:
48 line.value %= () 48 line.value %= ()
49 except TypeError: 49 except TypeError:
50 raise TypeError('Unsubstituted value when concatting\n' + line) 50 raise TypeError('Unsubstituted value when concatting\n' + line)
51 except ValueError: 51 except ValueError:
52 raise ValueError('Stray % character when concatting\n' + line) 52 raise ValueError('Stray % character when concatting\n' + line)
53 self.Append(line.value, line.substitute) 53 self.Append(line.value, line.substitute)
54 54
55 return self 55 return self
56 56
57 def Cblock(self, code):
58 """Concatenates another Code object |code| onto this one followed by a
59 blank line, if |code| is non-empty."""
60 if not code.IsEmpty():
61 self.Concat(code).Append()
62 return self
63
57 def Sblock(self, line=''): 64 def Sblock(self, line=''):
58 """Starts a code block. 65 """Starts a code block.
59 66
60 Appends a line of code and then increases the indent level. 67 Appends a line of code and then increases the indent level.
61 """ 68 """
62 self.Append(line) 69 self.Append(line)
63 self._indent_level += self._indent_size 70 self._indent_level += self._indent_size
64 return self 71 return self
65 72
66 def Eblock(self, line=''): 73 def Eblock(self, line=''):
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 """Renders Code as a string. 128 """Renders Code as a string.
122 """ 129 """
123 return '\n'.join([l.value for l in self._code]) 130 return '\n'.join([l.value for l in self._code])
124 131
125 class Line(object): 132 class Line(object):
126 """A line of code. 133 """A line of code.
127 """ 134 """
128 def __init__(self, value, substitute=True): 135 def __init__(self, value, substitute=True):
129 self.value = value 136 self.value = value
130 self.substitute = substitute 137 self.substitute = substitute
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698