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

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

Issue 16915006: Convert most of extensions and some other random stuff to using the base namespace for Values. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 from code import Code 5 from code import Code
6 from model import PropertyType, Type 6 from model import PropertyType, Type
7 import cpp_util 7 import cpp_util
8 import model 8 import model
9 import schema_util 9 import schema_util
10 import sys 10 import sys
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
181 """ 181 """
182 classname = cpp_util.Classname(schema_util.StripNamespace(type_.name)) 182 classname = cpp_util.Classname(schema_util.StripNamespace(type_.name))
183 c = Code() 183 c = Code()
184 (c.Append('// static') 184 (c.Append('// static')
185 .Append('bool %(namespace)s::Populate(') 185 .Append('bool %(namespace)s::Populate(')
186 .Sblock(' const base::Value& value, %(name)s* out) {') 186 .Sblock(' const base::Value& value, %(name)s* out) {')
187 ) 187 )
188 if type_.property_type == PropertyType.CHOICES: 188 if type_.property_type == PropertyType.CHOICES:
189 for choice in type_.choices: 189 for choice in type_.choices:
190 value_type = cpp_util.GetValueType(self._type_helper.FollowRef(choice)) 190 value_type = cpp_util.GetValueType(self._type_helper.FollowRef(choice))
191 (c.Sblock('if (value.IsType(%s)) {' % value_type) 191 (c.Sblock('if (value.IsType(base::%s)) {' % value_type)
192 .Concat(self._GeneratePopulateVariableFromValue( 192 .Concat(self._GeneratePopulateVariableFromValue(
193 choice, 193 choice,
194 '(&value)', 194 '(&value)',
195 'out->as_%s' % choice.unix_name, 195 'out->as_%s' % choice.unix_name,
196 'false', 196 'false',
197 is_ptr=True)) 197 is_ptr=True))
198 .Append('return true;') 198 .Append('return true;')
199 .Eblock('}') 199 .Eblock('}')
200 ) 200 )
201 c.Append('return false;') 201 c.Append('return false;')
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 else: 638 else:
639 (c.Append('if (!%(cpp_type)s::Populate(*%(src_var)s, &%(dst_var)s))') 639 (c.Append('if (!%(cpp_type)s::Populate(*%(src_var)s, &%(dst_var)s))')
640 .Append(' return %(failure_value)s;') 640 .Append(' return %(failure_value)s;')
641 ) 641 )
642 elif underlying_type.property_type == PropertyType.ENUM: 642 elif underlying_type.property_type == PropertyType.ENUM:
643 c.Concat(self._GenerateStringToEnumConversion(type_, 643 c.Concat(self._GenerateStringToEnumConversion(type_,
644 src_var, 644 src_var,
645 dst_var, 645 dst_var,
646 failure_value)) 646 failure_value))
647 elif underlying_type.property_type == PropertyType.BINARY: 647 elif underlying_type.property_type == PropertyType.BINARY:
648 (c.Append('if (!%(src_var)s->IsType(%(value_type)s))') 648 (c.Append('if (!%(src_var)s->IsType(base::%(value_type)s))')
649 .Append(' return %(failure_value)s;') 649 .Append(' return %(failure_value)s;')
650 .Append('const base::BinaryValue* binary_value =') 650 .Append('const base::BinaryValue* binary_value =')
651 .Append(' static_cast<const base::BinaryValue*>(%(src_var)s);') 651 .Append(' static_cast<const base::BinaryValue*>(%(src_var)s);')
652 ) 652 )
653 if is_ptr: 653 if is_ptr:
654 (c.Append('%(dst_var)s.reset(') 654 (c.Append('%(dst_var)s.reset(')
655 .Append(' new std::string(binary_value->GetBuffer(),') 655 .Append(' new std::string(binary_value->GetBuffer(),')
656 .Append(' binary_value->GetSize()));') 656 .Append(' binary_value->GetSize()));')
657 ) 657 )
658 else: 658 else:
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 """ 834 """
835 c = Code() 835 c = Code()
836 underlying_type = self._type_helper.FollowRef(prop.type_) 836 underlying_type = self._type_helper.FollowRef(prop.type_)
837 if (underlying_type.property_type == PropertyType.ENUM and 837 if (underlying_type.property_type == PropertyType.ENUM and
838 prop.optional): 838 prop.optional):
839 c.Append('%s->%s = %s;' % ( 839 c.Append('%s->%s = %s;' % (
840 dst, 840 dst,
841 prop.unix_name, 841 prop.unix_name,
842 self._type_helper.GetEnumNoneValue(prop.type_))) 842 self._type_helper.GetEnumNoneValue(prop.type_)))
843 return c 843 return c
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698