bind-gen: Support complex cases of symbol definitions
It turned out that some of SymbolDefinitionNodes need to be followed by UnlikelyExitNode just like the following example, so this patch makes SymbolDefinitionNode inherits from SymbolScopeNode so that a definition can consist from multiple CodeNodes. Example: const auto& return_value = F(exception_state); if (exception_state.HadException()) { return; } A symbol definition of |return_value| needs to be followed by UnlikelyExitNode to return early if an exception is thrown. Note that SymbolNode is just moved and should have no code change. SymbolDefinitionNode is updated accordingly. Bug: 839389 Change-Id: I65e2f730084ad5018c2521ea0826c058910d153b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1882253 Commit-Queue: Yuki Shiino <yukishiino@chromium.org> Reviewed-by:Hitoshi Yoshida <peria@chromium.org> Cr-Commit-Position: refs/heads/master@{#709868}
Showing
Please register or sign in to comment