Bug 568813 - Empty inspect window and hover

The empty hover on BigSur is caused due to SWT Bug 567787- Setting Shell visible doesn't send SWT.SetData for Virtual Tree/Table. Due to this the virtual tree in the hover is not populated when set to visible.
The workaround is to call getText on the item so that it is already created when hover is shown.

Change-Id: I4c716082e2da778fc6f257283f3ebe3bbcc6a35e
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
index 8d9940f..3633908 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/hover/ExpressionInformationControlCreator.java
@@ -1,5 +1,5 @@
 /****************************************************************************
-* Copyright (c) 2017, 2018 Red Hat Inc. and others.
+* Copyright (c) 2017, 2020 Red Hat Inc. and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
@@ -10,10 +10,12 @@
 *
 * Contributors:
 *     Mickael Istria (Red Hat Inc.) - [521958] initial implementation
+*     IBM Corporation - Bug 568813
 *******************************************************************************/
 package org.eclipse.debug.internal.ui.hover;
 
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.Platform;
 import org.eclipse.debug.core.model.IVariable;
 import org.eclipse.debug.internal.ui.DebugUIPlugin;
 import org.eclipse.debug.internal.ui.SWTFactory;
@@ -51,6 +53,7 @@
 import org.eclipse.swt.widgets.Layout;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Tree;
+import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.IWorkbenchPartSite;
 import org.eclipse.ui.PlatformUI;
@@ -398,6 +401,12 @@
 			if (input instanceof IVariable) {
 				fVariable = (IVariable) input;
 				fViewer.setInput(new TreeRoot());
+				// Workaround for empty hover popup dialog due to changed Mac API behaviour
+				if (Platform.OS_MACOSX.equals(Platform.getOS())) {
+					fTree.setItemCount(1);
+					TreeItem item = fTree.getItem(0);
+					item.getText();
+				}
 			}
 		}