Count Comprehensions

The mission is in Blocked Mode.
Access to the solutions is blocked for a day or two (even after you share your own), until we'll have enough solutions for you to check.
All users who've solved the mission will get the notifications about their opening.

You have to write a function that receives a Python source code,
counts list/set/dict/generator comprehensions and returns these counts.

List comprehensions, set comprehensions, dict comprehensions, generator expressions
are respectively represented by "ListComp", "SetComp", "DictComp", "GeneratorExp"
in the result dictionary.

**
Input:
**
A string.

**
Output:
**
A dict with strings as keys and integers as values.

**Examples:**

count_comprehensions('[n ** 2 for n in range(5)]') == {'ListComp': 1} count_comprehensions('list(n ** 2 for n in range(5))') == {'GeneratorExp': 1} count_comprehensions('''\ limit = 100 assert all( sum(n ** 3 for n in range(N)) == (N * (N - 1) // 2) ** 2 for N in range(1, limit) ) ''') == {'GeneratorExp': 2}

**
Note:
**
Python codes are valid (no syntax error) but do not necessarily
comply to PEP8 rules or any implicit rule you may think of.