function validate_opening_tag(node, state, expected) {
	if (state.analysis.source[node.start + 1] !== expected) {
		// avoid a sea of red and only mark the first few characters
		e.block_unexpected_character({ start: node.start, end: node.start + 5 }, expected);
	}
}
Validates that the opening of a control flow block is `{` immediately followed by the expected character.
In legacy mode whitespace is allowed inbetween. TODO remove once legacy mode is gone and move this into parser instead.
@param {{start: number; end: number}} node
@param {AnalysisState} state
@param {string} expected