public void DeepInvoke()
{
ParseAndWalk(@"Console.WriteLine();");
ParseAndWalk(@"Console.Out.WriteLine();");
ParseAndWalk(@"a.ToString();");
ParseAndWalk(@"(func(){})().a.b.c();");
ParseAndWalk(@"[1, 2].a.b.c;");
ParseAndWalk(@"a.b.c.d.e.f;");
ParseAndWalk(@"a.b.c.d().e.f;");
ParseAndWalk(@"a.b.c.d.e.f();");
ParseAndWalk(@"a.b.c().d().e.f().g[1].h;");
ParseAndWalk(@"a().b.c().d().e.f().g[1].h;");
ParseAndWalk(@"Console.WriteLine();");
ParseAndWalk(@"{p: 1}.a();");;
}