separate analyze_ast_node_forward() to some functions

because function instantiation uses dispatch_forward_analyzer()
instantiate function from template and specified argument types