Bug 121871 Support intellisense for global varible "report" in both expression builder and script editor
Currently expression builder already provide intellisense support for static objects (both BIRT and standard javaScript object). However, it doesn't support intellisene for "report". Even with the class structure displayed in the expression builder, it is quite difficult to figure out how to use the report varible without intellisense. We should use the same mechanism for "report." object intellisense support as we did for "this." objects: - UI (expression builder or script editor) get the type for "report" object - UI use reflection to get all properties, methods defined on report object. - The reflection process will be recursive.
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/dialogs/ExpressionBuilder.java
{
				String insertText = provider.getInsertText( selection.getFirstElement( ) );
				if ( insertText != null )
				{
					insertText( insertText );
				}
				return;
			}
		}
	};
	private Composite buttonBar;
	private TableViewer categoryTable, subCategoryTable, functionTable;
	private IExpressionProvider provider;
	private SourceViewer sourceViewer;
	private String expression = null;
	private String title;
	/**
	 * Create an expression builder under the given parent shell with the given
	 * initial expression
	 * 
	 * @param parentShell
	 *            the parent shell
	 * @param initExpression
	 *            the initial expression
	 */
	public ExpressionBuilder( Shell parentShell, String initExpression )
	{
		super( parentShell );
		title = DIALOG_TITLE;
		this.expression = UIUtil.convertToGUIString( initExpression );