Bug 203888 Syntax Checker for JavaScript
BIRT provides the report developer the ability to use JavaScript to build custom logic in reports. Report developers currently do not have the ability to validate JavaScript code during design. JavaScript errors are only caught at runtime. This project looks at providing report developers the ability to validate JavaScript code at design time. The benefits of doing so are increased report developer productivity since errors can be caught and corrected at design time instead of at runtime.
UI/org.eclipse.birt.report.designer.ui.editors.schematic/src/org/eclipse/birt/report/designer/internal/ui/editors/script/JSEditor.java
ISelectionChangedListener,
		IColleague
{
	protected static Logger logger = Logger.getLogger( JSEditor.class.getName( ) );
	private static final String NO_EXPRESSION = Messages.getString( "JSEditor.Display.NoExpression" ); 
	static final String VIEWER_CATEGORY_KEY = "Category"; 
	static final String VIEWER_CATEGORY_CONTEXT = "context"; 
	private IEditorPart editingDomainEditor;
	/**
	 * Check if text setting by selection changed.
	 * <p>
	 * Do not mark dirty when text setting by selection changed.
	 * </p>
	 */
	private boolean settingText = false;
	JSEditorInput editorInput = new JSEditorInput( "" ); 
	Combo cmbExpList = null;
	Combo cmbSubFunctions = null;
	public ComboViewer cmbExprListViewer;
	IPropertyDefn cmbItemLastSelected = null;
	boolean editorUIEnabled = true;
	private ActionRegistry actionRegistry = null;
	private Button butReset;
	private Label ano;
	private final HashMap selectionMap = new HashMap( );
	private boolean isModified;
	private JSSyntaxContext context = new JSSyntaxContext( );
	private Object editObject;
	/**
	 * Palette page