[Refactoring] Separate `Type::genTypeInfo` from `Type::getTypeInfo`

Reduce redundant Expression generation in glue layer
Add semanticTypeInfo
fix Issue 12144 - Unresolved xopEquals when referenced by dynamic array constructor
+test
+test2