private Expression GetTypeDefaultLiteralExpression(TypeReference arrayElementType)
		{
			if (arrayElementType.FullName == "System.Boolean")
			{
				return new LiteralExpression(false, typeSystem, null);
			}
			if (arrayElementType.IsIntegerType())
			{
				return new LiteralExpression(0, typeSystem, null);
			}
			TypeDefinition arrayElementTypeDef = arrayElementType.Resolve();
			if (arrayElementTypeDef == null)
			{
				return new DefaultObjectExpression(arrayElementType, null);
			}
			if (arrayElementTypeDef != null && arrayElementTypeDef.IsEnum)
			{
				return EnumHelper.GetEnumExpression(arrayElementTypeDef, new LiteralExpression(0, typeSystem, null), typeSystem);
			}
			if (!arrayElementTypeDef.IsValueType)
			{
				return new LiteralExpression(null, typeSystem, null);
			}
			return new DefaultObjectExpression(arrayElementType, null);
		}