/** * Sets up tab corresponding to general dependence in the configurator composite. * * @param composite to layout the general dependence configuration widgets. * @pre composite != null */ private void setupDependenceDepUI(final Composite composite) { final RowLayout _rowLayout = new RowLayout(SWT.VERTICAL); composite.setLayout(_rowLayout); final SlicerConfiguration _cfg = (SlicerConfiguration) configuration; final Button _useNonTerminationSensitiveCDAButton = new Button(composite, SWT.CHECK); _useNonTerminationSensitiveCDAButton.setText( "use non-termination sensitive control dependence"); _useNonTerminationSensitiveCDAButton.setToolTipText("Loop behaviors are not preserved"); _useNonTerminationSensitiveCDAButton.setSelection( ((Boolean) _cfg.getProperty(SlicerConfiguration.NON_TERMINATION_SENSITIVE_CONTROL_DEPENDENCE)) .booleanValue()); _useNonTerminationSensitiveCDAButton.addSelectionListener( new BooleanPropertySelectionListener( SlicerConfiguration.NON_TERMINATION_SENSITIVE_CONTROL_DEPENDENCE, _useNonTerminationSensitiveCDAButton, _cfg)); final Button _useExplicitExceptionalExitSensitiveCDAButton = new Button(composite, SWT.CHECK); _useExplicitExceptionalExitSensitiveCDAButton.setText( "consider explicit exceptional exit points"); _useExplicitExceptionalExitSensitiveCDAButton.setSelection( ((Boolean) _cfg.getProperty( SlicerConfiguration.EXPLICIT_EXCEPTIONAL_EXIT_SENSITIVE_CONTROL_DEPENDENCE)) .booleanValue()); _useExplicitExceptionalExitSensitiveCDAButton.addSelectionListener( new BooleanPropertySelectionListener( SlicerConfiguration.EXPLICIT_EXCEPTIONAL_EXIT_SENSITIVE_CONTROL_DEPENDENCE, _useExplicitExceptionalExitSensitiveCDAButton, _cfg)); final Button _useCommonUncheckedExceptionsCDAButton = new Button(composite, SWT.CHECK); _useCommonUncheckedExceptionsCDAButton.setText( "consider common unchecked exception based exit points"); _useCommonUncheckedExceptionsCDAButton.setSelection( ((Boolean) _cfg.getProperty( SlicerConfiguration.COMMON_UNCHECKED_EXCEPTIONAL_EXIT_SENSITIVE_CD)) .booleanValue()); _useCommonUncheckedExceptionsCDAButton.addSelectionListener( new BooleanPropertySelectionListener( SlicerConfiguration.COMMON_UNCHECKED_EXCEPTIONAL_EXIT_SENSITIVE_CD, _useCommonUncheckedExceptionsCDAButton, _cfg)); _useExplicitExceptionalExitSensitiveCDAButton.addSelectionListener( new SelectionListener() { public void widgetSelected(@SuppressWarnings("unused") final SelectionEvent e) { final boolean _t = _useExplicitExceptionalExitSensitiveCDAButton.getSelection(); _useCommonUncheckedExceptionsCDAButton.setEnabled(_t); } public void widgetDefaultSelected(final SelectionEvent e) { widgetSelected(e); } }); final Button _useSyncDepButton = new Button(composite, SWT.CHECK); _useSyncDepButton.setText("use synchronization dependence"); _useSyncDepButton.setToolTipText("Use synchronization dependence in calculation of the slice."); _useSyncDepButton.setSelection(_cfg.isSynchronizationDepAnalysisUsed()); _useSyncDepButton.addSelectionListener( new BooleanPropertySelectionListener( SlicerConfiguration.USE_SYNCHRONIZATIONDA, _useSyncDepButton, _cfg)); final boolean _t = _cfg.isExplicitExceptionalExitSensitiveControlDependenceUsed(); _useExplicitExceptionalExitSensitiveCDAButton.setSelection(_t); _useExplicitExceptionalExitSensitiveCDAButton.notifyListeners(SWT.Selection, null); }