| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent ea5be29 commit b9c057c
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -65,6 +65,7 @@ class ObjectWrap { | |||
| 65 | 65 | } | |
| 66 | 66 | ||
| 67 | 67 | ||
| 68 | + // NOLINTNEXTLINE(runtime/v8_persistent) | ||
| 68 | 69 | inline v8::Persistent<v8::Object>& persistent() { | |
| 69 | 70 | return handle_; | |
| 70 | 71 | } | |
@@ -122,6 +123,7 @@ class ObjectWrap { | |||
| 122 | 123 | delete wrap; | |
| 123 | 124 | } | |
| 124 | 125 | ||
| 126 | + // NOLINTNEXTLINE(runtime/v8_persistent) | ||
| 125 | 127 | v8::Persistent<v8::Object> handle_; | |
| 126 | 128 | }; | |
| 127 | 129 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -321,6 +321,7 @@ | |||
| 321 | 321 | 'runtime/string', | |
| 322 | 322 | 'runtime/threadsafe_fn', | |
| 323 | 323 | 'runtime/vlog', | |
| 324 | + 'runtime/v8_persistent', | ||
| 324 | 325 | 'whitespace/blank_line', | |
| 325 | 326 | 'whitespace/braces', | |
| 326 | 327 | 'whitespace/comma', | |
@@ -627,6 +628,8 @@ | |||
| 627 | 628 | ||
| 628 | 629 | _NULL_TOKEN_PATTERN = re.compile(r'\bNULL\b') | |
| 629 | 630 | ||
| 631 | + _V8_PERSISTENT_PATTERN = re.compile(r'\bv8::Persistent\b') | ||
| 632 | + | ||
| 630 | 633 | _RIGHT_LEANING_POINTER_PATTERN = re.compile(r'[^=|(,\s><);&?:}]' | |
| 631 | 634 | r'(?<!(sizeof|return))' | |
| 632 | 635 | r'\s\*[a-zA-Z_][0-9a-zA-Z_]*') | |
@@ -4547,6 +4550,28 @@ def CheckNullTokens(filename, clean_lines, linenum, error): | |||
| 4547 | 4550 | error(filename, linenum, 'readability/null_usage', 2, | |
| 4548 | 4551 | 'Use nullptr instead of NULL') | |
| 4549 | 4552 | ||
| 4553 | + def CheckV8PersistentTokens(filename, clean_lines, linenum, error): | ||
| 4554 | + """Check v8::Persistent usage. | ||
| 4555 | + | ||
| 4556 | + Args: | ||
| 4557 | + filename: The name of the current file. | ||
| 4558 | + clean_lines: A CleansedLines instance containing the file. | ||
| 4559 | + linenum: The number of the line to check. | ||
| 4560 | + error: The function to call with any errors found. | ||
| 4561 | + """ | ||
| 4562 | + line = clean_lines.elided[linenum] | ||
| 4563 | + | ||
| 4564 | + # Avoid preprocessor lines | ||
| 4565 | + if Match(r'^\s*#', line): | ||
| 4566 | + return | ||
| 4567 | + | ||
| 4568 | + if line.find('/*') >= 0 or line.find('*/') >= 0: | ||
| 4569 | + return | ||
| 4570 | + | ||
| 4571 | + for match in _V8_PERSISTENT_PATTERN.finditer(line): | ||
| 4572 | + error(filename, linenum, 'runtime/v8_persistent', 2, | ||
| 4573 | + 'Use v8::Global instead of v8::Persistent') | ||
| 4574 | + | ||
| 4550 | 4575 | def CheckLeftLeaningPointer(filename, clean_lines, linenum, error): | |
| 4551 | 4576 | """Check for left-leaning pointer placement. | |
| 4552 | 4577 | ||
@@ -4723,6 +4748,7 @@ def CheckStyle(filename, clean_lines, linenum, file_extension, nesting_state, | |||
| 4723 | 4748 | CheckCheck(filename, clean_lines, linenum, error) | |
| 4724 | 4749 | CheckAltTokens(filename, clean_lines, linenum, error) | |
| 4725 | 4750 | CheckNullTokens(filename, clean_lines, linenum, error) | |
| 4751 | + CheckV8PersistentTokens(filename, clean_lines, linenum, error) | ||
| 4726 | 4752 | CheckLeftLeaningPointer(filename, clean_lines, linenum, error) | |
| 4727 | 4753 | classinfo = nesting_state.InnermostClass() | |
| 4728 | 4754 | if classinfo: | |
| Back | FazBrowse Home | New Git URL |
0 commit comments