Handle namespace collision warnings

This handles namespace conflicts warning when you use a class that conflicts with different class names the namespace hierarchy.

@ke-yu @aparajit-pratap 

1. if ident == null?
This means the leftnode is not an identifier, we then just continue traversing the leftnode
2. if ident != null but classNames.Length <= 1?
This means the leftnode is an identifier and we just want to check if its a class that contains any naemspace conflict