Make TypeMapper use signatureWriter for scripts expression evaluation;

Support nullability detection for IrScriptSymbol
diff --git a/compiler/backend.common.jvm/src/org/jetbrains/kotlin/types/AbstractTypeMapper.kt b/compiler/backend.common.jvm/src/org/jetbrains/kotlin/types/AbstractTypeMapper.kt
index ac621bd..0a8f7e3 100644
--- a/compiler/backend.common.jvm/src/org/jetbrains/kotlin/types/AbstractTypeMapper.kt
+++ b/compiler/backend.common.jvm/src/org/jetbrains/kotlin/types/AbstractTypeMapper.kt
@@ -102,7 +102,10 @@
                 mapType(context, type.original(), mode, sw)
 
             typeConstructor.isScript() ->
-                Type.getObjectType(context.getScriptInternalName(typeConstructor))
+                Type.getObjectType(context.getScriptInternalName(typeConstructor)).let {
+                    sw?.writeClass(it)
+                    it
+                }
 
             else ->
                 throw UnsupportedOperationException("Unknown type $type")
diff --git a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeUtils.kt b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeUtils.kt
index ac3ffe6..e3b5c09 100644
--- a/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeUtils.kt
+++ b/compiler/ir/ir.tree/src/org/jetbrains/kotlin/ir/types/IrTypeUtils.kt
@@ -43,6 +43,7 @@
                 SimpleTypeNullability.NOT_SPECIFIED -> classifier.owner.superTypes.any(IrType::isNullable)
                 SimpleTypeNullability.DEFINITELY_NOT_NULL -> false
             }
+            is IrScriptSymbol -> nullability == SimpleTypeNullability.MARKED_NULLABLE
             else -> error("Unsupported classifier: $classifier")
         }
         is IrDynamicType -> true