コード例 #1
0
  /**
   * 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);
  }