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

Side by Side Diff: third_party/WebKit/Source/bindings/scripts/utilities.py

Issue 2837923003: Make NodeFilter a legacy callback interface. (Closed)
Patch Set: . Created 3 years, 7 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 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 """Utility functions (file reading, simple IDL parsing by regexes) for IDL build . 5 """Utility functions (file reading, simple IDL parsing by regexes) for IDL build .
6 6
7 Design doc: http://www.chromium.org/developers/design-documents/idl-build 7 Design doc: http://www.chromium.org/developers/design-documents/idl-build
8 """ 8 """
9 9
10 import os 10 import os
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 337
338 ################################################################################ 338 ################################################################################
339 # IDL parsing 339 # IDL parsing
340 # 340 #
341 # TODO(bashi): We use regular expressions for parsing; this is incorrect 341 # TODO(bashi): We use regular expressions for parsing; this is incorrect
342 # (Web IDL is not a regular language) and broken. Remove these functions and 342 # (Web IDL is not a regular language) and broken. Remove these functions and
343 # always use the parser and ASTs. 343 # always use the parser and ASTs.
344 # Leading and trailing context (e.g. following '{') used to avoid false matches. 344 # Leading and trailing context (e.g. following '{') used to avoid false matches.
345 ################################################################################ 345 ################################################################################
346 346
347 def is_callback_interface_from_idl(file_contents): 347 def is_non_legacy_callback_interface_from_idl(file_contents):
348 match = re.search(r'callback\s+interface\s+\w+\s*{', file_contents) 348 match = re.search(r'callback\s+interface\s+\w+\s*{', file_contents)
bashi 2017/04/27 08:49:49 Could you add a comment why we search 'const' to d
Yuki 2017/04/27 12:18:29 |file_contents| doesn't include any comment, right
tkent 2017/04/28 06:13:36 Done. Added a comment.
349 return bool(match) 349 return bool(match) and not re.search(r'\bconst\b', file_contents)
350 350
351 351
352 def should_generate_impl_file_from_idl(file_contents): 352 def should_generate_impl_file_from_idl(file_contents):
353 """True when a given IDL file contents could generate .h/.cpp files.""" 353 """True when a given IDL file contents could generate .h/.cpp files."""
354 # FIXME: This would be error-prone and we should use AST rather than 354 # FIXME: This would be error-prone and we should use AST rather than
355 # improving the regexp pattern. 355 # improving the regexp pattern.
356 match = re.search(r'(interface|dictionary|exception)\s+\w+', file_contents) 356 match = re.search(r'(interface|dictionary|exception)\s+\w+', file_contents)
357 return bool(match) 357 return bool(match)
358 358
359 359
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 519
520 # Remember an open brace. 520 # Remember an open brace.
521 match = re_last_brace.search(line) 521 match = re_last_brace.search(line)
522 was_open_brace = (match and match.group('last') == '{' and 'namespace' n ot in line) 522 was_open_brace = (match and match.group('last') == '{' and 'namespace' n ot in line)
523 523
524 # Let |'\n'.join| emit the last newline. 524 # Let |'\n'.join| emit the last newline.
525 if output: 525 if output:
526 output.append('') 526 output.append('')
527 527
528 return '\n'.join(output) 528 return '\n'.join(output)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698