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

Unified Diff: tools/json_schema_compiler/cc_generator.py

Issue 1853573002: [Extensions] Remove 'use_movable_types' from code generation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: tools/json_schema_compiler/cc_generator.py
diff --git a/tools/json_schema_compiler/cc_generator.py b/tools/json_schema_compiler/cc_generator.py
index 059166c3477d27ab09111a40fc778237ce8b5430..db8684dd0cb57d8fd220a87419e3e2741e59839e 100644
--- a/tools/json_schema_compiler/cc_generator.py
+++ b/tools/json_schema_compiler/cc_generator.py
@@ -127,16 +127,15 @@ class _Generator(object):
.Cblock(self._GenerateInitializersAndBody(type_))
.Append('%s::~%s() {}' % (classname_in_namespace, classname))
)
- if 'use_movable_types' in type_.namespace.compiler_options:
- # Note: we use 'rhs' because some API objects have a member 'other'.
- (c.Append('%s::%s(%s&& rhs)' %
- (classname_in_namespace, classname, classname))
- .Cblock(self._GenerateMoveCtor(type_))
- .Append('%s& %s::operator=(%s&& rhs)' %
- (classname_in_namespace, classname_in_namespace,
- classname))
- .Cblock(self._GenerateMoveAssignOperator(type_))
- )
+ # Note: we use 'rhs' because some API objects have a member 'other'.
+ (c.Append('%s::%s(%s&& rhs)' %
+ (classname_in_namespace, classname, classname))
+ .Cblock(self._GenerateMoveCtor(type_))
+ .Append('%s& %s::operator=(%s&& rhs)' %
+ (classname_in_namespace, classname_in_namespace,
+ classname))
+ .Cblock(self._GenerateMoveAssignOperator(type_))
+ )
if type_.origin.from_json:
c.Cblock(self._GenerateTypePopulate(classname_in_namespace, type_))
if cpp_namespace is None: # only generate for top-level types
@@ -483,17 +482,12 @@ class _Generator(object):
if type_.additional_properties.property_type == PropertyType.ANY:
c.Append('value->MergeDictionary(&additional_properties);')
else:
- # Non-copyable types will be wrapped in a linked_ptr for inclusion in
- # maps, so we need to unwrap them.
- needs_unwrap = (
- not 'use_movable_types' in type_.namespace.compiler_options and
- not self._type_helper.IsCopyable(type_.additional_properties))
(c.Sblock('for (const auto& it : additional_properties) {')
.Cblock(self._CreateValueFromType(
'value->SetWithoutPathExpansion(it.first, %s);',
type_.additional_properties.name,
type_.additional_properties,
- '%sit.second' % ('*' if needs_unwrap else '')))
+ 'it.second'))
.Eblock('}')
)

Powered by Google App Engine
This is Rietveld 408576698