### Godot version

4.0.rc1

### System information

windows 10

### Issue description

When assigning a lambda to a variable right after an if statement, the parser seems to understand that a ternary expression is happening when in fact it is not.

![image](https://user-images.githubusercontent.com/5783414/218691792-a27619cd-f17c-4d1e-9121-197c22aeec09.png)

### Steps to reproduce

Put the code bellow on a script on an empty project
```gdscript
func test():
	var v
	if true: v = (func(): test())
	if true: v = (func(): test())
	if true: v = (func(): test())

	if true: v = func(): test()
	if true: v = func(): test()
```

### Minimal reproduction project

N/A
const HashMap<int, GDScriptTokenizer::CommentData> &comments = tokenizer.get_comments();
	if (!comments.has(p_line)) {
		return;
	}
	ERR_FAIL_COND(!p_brief.is_empty() || !p_desc.is_empty() || p_tutorials.size() != 0);
	int line = p_line;
	DocLineState state = DOC_LINE_NORMAL;
	enum Mode {
		BRIEF,
		DESC,
		TUTORIALS,
		DONE,
	};
	Mode mode = BRIEF;
	if (p_inner_class) {
		while (comments.has(line - 1)) {
			if (!comments[line - 1].new_line || !comments[line - 1].comment.begins_with("##")) {
				break;
			}
			line--;
		}
	}
	String space_prefix;
	if (comments.has(line) && comments[line].comment.begins_with("##")) {
		int i = 2;
		for (; i < comments[line].comment.length(); i++) {
			if (comments[line].comment[i] != ' ') {
				break;
			}