| OLD | NEW |
| 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 | 6 from model import PropertyType |
| 7 import cpp_util | 7 import cpp_util |
| 8 import schema_util | 8 import schema_util |
| 9 import util_cc_helper | 9 import util_cc_helper |
| 10 | 10 |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 493 elif underlying_type.property_type == PropertyType.ENUM: | 493 elif underlying_type.property_type == PropertyType.ENUM: |
| 494 return 'new base::StringValue(ToString(%s))' % var | 494 return 'new base::StringValue(ToString(%s))' % var |
| 495 elif underlying_type.property_type == PropertyType.BINARY: | 495 elif underlying_type.property_type == PropertyType.BINARY: |
| 496 if is_ptr: | 496 if is_ptr: |
| 497 vardot = var + '->' | 497 vardot = var + '->' |
| 498 else: | 498 else: |
| 499 vardot = var + '.' | 499 vardot = var + '.' |
| 500 return ('base::BinaryValue::CreateWithCopiedBuffer(%sdata(), %ssize())' % | 500 return ('base::BinaryValue::CreateWithCopiedBuffer(%sdata(), %ssize())' % |
| 501 (vardot, vardot)) | 501 (vardot, vardot)) |
| 502 elif underlying_type.property_type == PropertyType.ARRAY: | 502 elif underlying_type.property_type == PropertyType.ARRAY: |
| 503 item_type = underlying_type.item_type |
| 504 # Any enum will only have a namespace if it's not a ref, hence the lack |
| 505 # of FollowRef(item_type) here and just directly comparing to ENUM. |
| 506 enum_namespace = None |
| 507 if item_type.property_type == PropertyType.ENUM: |
| 508 enum_namespace = cpp_namespace |
| 503 return '%s.release()' % self._util_cc_helper.CreateValueFromArray( | 509 return '%s.release()' % self._util_cc_helper.CreateValueFromArray( |
| 504 cpp_namespace, | |
| 505 underlying_type, | |
| 506 var, | 510 var, |
| 507 is_ptr) | 511 optional=is_ptr, |
| 512 is_enum=self._type_helper.FollowRef(item_type).property_type == |
| 513 PropertyType.ENUM, |
| 514 enum_namespace=enum_namespace) |
| 508 elif underlying_type.property_type.is_fundamental: | 515 elif underlying_type.property_type.is_fundamental: |
| 509 if is_ptr: | 516 if is_ptr: |
| 510 var = '*%s' % var | 517 var = '*%s' % var |
| 511 if underlying_type.property_type == PropertyType.STRING: | 518 if underlying_type.property_type == PropertyType.STRING: |
| 512 return 'new base::StringValue(%s)' % var | 519 return 'new base::StringValue(%s)' % var |
| 513 else: | 520 else: |
| 514 return 'new base::FundamentalValue(%s)' % var | 521 return 'new base::FundamentalValue(%s)' % var |
| 515 else: | 522 else: |
| 516 raise NotImplementedError('Conversion of %s to base::Value not ' | 523 raise NotImplementedError('Conversion of %s to base::Value not ' |
| 517 'implemented' % repr(type_.type_)) | 524 'implemented' % repr(type_.type_)) |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 if self._generate_error_messages: | 1012 if self._generate_error_messages: |
| 1006 params = list(params) + ['base::string16* error'] | 1013 params = list(params) + ['base::string16* error'] |
| 1007 return ', '.join(str(p) for p in params) | 1014 return ', '.join(str(p) for p in params) |
| 1008 | 1015 |
| 1009 def _GenerateArgs(self, args): | 1016 def _GenerateArgs(self, args): |
| 1010 """Builds the argument list for a function, given an array of arguments. | 1017 """Builds the argument list for a function, given an array of arguments. |
| 1011 """ | 1018 """ |
| 1012 if self._generate_error_messages: | 1019 if self._generate_error_messages: |
| 1013 args = list(args) + ['error'] | 1020 args = list(args) + ['error'] |
| 1014 return ', '.join(str(a) for a in args) | 1021 return ', '.join(str(a) for a in args) |
| OLD | NEW |