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

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

Issue 2733283002: Require explicit selection of traits for LazyInstance (Closed)
Patch Set: l10n again Created 3 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 unified diff | Download patch
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 import code 5 import code
6 import cpp_util 6 import cpp_util
7 from model import Platforms 7 from model import Platforms
8 from schema_util import CapitalizeFirstLetter 8 from schema_util import CapitalizeFirstLetter
9 from schema_util import JsFunctionNameToClassName 9 from schema_util import JsFunctionNameToClassName
10 10
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 c.Sblock('Static() {') 353 c.Sblock('Static() {')
354 for api in self._bundle._api_defs: 354 for api in self._bundle._api_defs:
355 namespace = self._bundle._model.namespaces[api.get('namespace')] 355 namespace = self._bundle._model.namespaces[api.get('namespace')]
356 c.Append('schemas["%s"] = %s;' % (namespace.name, 356 c.Append('schemas["%s"] = %s;' % (namespace.name,
357 _FormatNameAsConstant(namespace.name))) 357 _FormatNameAsConstant(namespace.name)))
358 c.Eblock('}') 358 c.Eblock('}')
359 c.Append() 359 c.Append()
360 c.Append('std::map<std::string, const char*> schemas;') 360 c.Append('std::map<std::string, const char*> schemas;')
361 c.Eblock('};') 361 c.Eblock('};')
362 c.Append() 362 c.Append()
363 c.Append('base::LazyInstance<Static> g_lazy_instance;') 363 c.Append('base::LazyInstance<Static>::DestructorAtExit g_lazy_instance;')
364 c.Append() 364 c.Append()
365 c.Append('} // namespace') 365 c.Append('} // namespace')
366 c.Append() 366 c.Append()
367 c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace)) 367 c.Concat(cpp_util.OpenNamespace(self._bundle._cpp_namespace))
368 c.Append() 368 c.Append()
369 c.Append('// static') 369 c.Append('// static')
370 c.Sblock('base::StringPiece %s::Get(const std::string& name) {' % 370 c.Sblock('base::StringPiece %s::Get(const std::string& name) {' %
371 self._bundle._GenerateBundleClass('GeneratedSchemas')) 371 self._bundle._GenerateBundleClass('GeneratedSchemas'))
372 c.Append('return IsGenerated(name) ? ' 372 c.Append('return IsGenerated(name) ? '
373 'g_lazy_instance.Get().schemas[name] : "";') 373 'g_lazy_instance.Get().schemas[name] : "";')
374 c.Eblock('}') 374 c.Eblock('}')
375 c.Append() 375 c.Append()
376 c.Append('// static') 376 c.Append('// static')
377 c.Sblock('bool %s::IsGenerated(std::string name) {' % 377 c.Sblock('bool %s::IsGenerated(std::string name) {' %
378 self._bundle._GenerateBundleClass('GeneratedSchemas')) 378 self._bundle._GenerateBundleClass('GeneratedSchemas'))
379 c.Append('return g_lazy_instance.Get().schemas.count(name) > 0;') 379 c.Append('return g_lazy_instance.Get().schemas.count(name) > 0;')
380 c.Eblock('}') 380 c.Eblock('}')
381 c.Append() 381 c.Append()
382 c.Concat(cpp_util.CloseNamespace(self._bundle._cpp_namespace)) 382 c.Concat(cpp_util.CloseNamespace(self._bundle._cpp_namespace))
383 c.Append() 383 c.Append()
384 return c 384 return c
OLDNEW
« no previous file with comments | « third_party/libaddressinput/chromium/string_compare.cc ('k') | ui/accelerated_widget_mac/accelerated_widget_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698