8252721: Nested classes in Swing APIs rely on default constructors
Reviewed-by: prr
This commit is contained in:
parent
fd380d75b0
commit
3ef2efb1f4
@ -2356,6 +2356,11 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
|
||||
extends AccessibleJComponent implements AccessibleAction,
|
||||
AccessibleValue, AccessibleText, AccessibleExtendedComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleAbstractButton() {}
|
||||
|
||||
/**
|
||||
* Returns the accessible name of this object.
|
||||
*
|
||||
|
@ -384,6 +384,11 @@ public class Box extends JComponent implements Accessible {
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleBoxFiller extends AccessibleAWTComponent {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleBoxFiller() {}
|
||||
|
||||
// AccessibleContext methods
|
||||
//
|
||||
/**
|
||||
@ -426,6 +431,11 @@ public class Box extends JComponent implements Accessible {
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleBox extends AccessibleAWTContainer {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleBox() {}
|
||||
|
||||
// AccessibleContext methods
|
||||
//
|
||||
/**
|
||||
|
@ -244,6 +244,11 @@ public class CellRendererPane extends Container implements Accessible
|
||||
* <code>CellRendererPane</code> class.
|
||||
*/
|
||||
protected class AccessibleCellRendererPane extends AccessibleAWTContainer {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleCellRendererPane() {}
|
||||
|
||||
// AccessibleContext methods
|
||||
//
|
||||
/**
|
||||
|
@ -303,6 +303,11 @@ public class DefaultCellEditor extends AbstractCellEditor
|
||||
/** The value of this cell. */
|
||||
protected Object value;
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected EditorDelegate() {}
|
||||
|
||||
/**
|
||||
* Returns the value of this cell.
|
||||
* @return the value of this cell
|
||||
|
@ -596,6 +596,11 @@ public class ImageIcon implements Icon, Serializable, Accessible {
|
||||
protected class AccessibleImageIcon extends AccessibleContext
|
||||
implements AccessibleIcon, Serializable {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleImageIcon() {}
|
||||
|
||||
/*
|
||||
* AccessibleContest implementation -----------------
|
||||
*/
|
||||
|
@ -566,6 +566,11 @@ public class JApplet extends Applet implements Accessible,
|
||||
* <code>JApplet</code> class.
|
||||
*/
|
||||
protected class AccessibleJApplet extends AccessibleApplet {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJApplet() {}
|
||||
|
||||
// everything moved to new parent, AccessibleApplet
|
||||
}
|
||||
}
|
||||
|
@ -301,6 +301,11 @@ public class JButton extends AbstractButton implements Accessible {
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJButton extends AccessibleAbstractButton {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJButton() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -332,6 +332,11 @@ public class JCheckBox extends JToggleButton implements Accessible {
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJCheckBox extends AccessibleJToggleButton {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJCheckBox() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -304,6 +304,11 @@ public class JCheckBoxMenuItem extends JMenuItem implements SwingConstants,
|
||||
*/
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJCheckBoxMenuItem extends AccessibleJMenuItem {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJCheckBoxMenuItem() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -599,6 +599,11 @@ public class JColorChooser extends JComponent implements Accessible {
|
||||
*/
|
||||
protected class AccessibleJColorChooser extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJColorChooser() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -3710,6 +3710,10 @@ public abstract class JComponent extends Container implements Serializable,
|
||||
*/
|
||||
protected class AccessibleContainerHandler
|
||||
implements ContainerListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleContainerHandler() {}
|
||||
public void componentAdded(ContainerEvent e) {
|
||||
Component c = e.getChild();
|
||||
if (c != null && c instanceof Accessible) {
|
||||
@ -3738,6 +3742,10 @@ public abstract class JComponent extends Container implements Serializable,
|
||||
*/
|
||||
@Deprecated
|
||||
protected class AccessibleFocusHandler implements FocusListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleFocusHandler() {}
|
||||
public void focusGained(FocusEvent event) {
|
||||
if (accessibleContext != null) {
|
||||
accessibleContext.firePropertyChange(
|
||||
|
@ -627,6 +627,11 @@ public class JDesktopPane extends JLayeredPane implements Accessible
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJDesktopPane extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJDesktopPane() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -1238,6 +1238,11 @@ public class JDialog extends Dialog implements WindowConstants,
|
||||
*/
|
||||
protected class AccessibleJDialog extends AccessibleAWTDialog {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJDialog() {}
|
||||
|
||||
// AccessibleContext methods
|
||||
//
|
||||
/**
|
||||
|
@ -1659,6 +1659,11 @@ public class JEditorPane extends JTextComponent {
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJEditorPane extends AccessibleJTextComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJEditorPane() {}
|
||||
|
||||
/**
|
||||
* Gets the accessibleDescription property of this object. If this
|
||||
* property isn't set, returns the content type of this
|
||||
|
@ -2041,6 +2041,11 @@ public class JFileChooser extends JComponent implements Accessible {
|
||||
@SuppressWarnings("serial") // Superclass is not serializable across versions
|
||||
protected class AccessibleJFileChooser extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJFileChooser() {}
|
||||
|
||||
/**
|
||||
* Gets the role of this object.
|
||||
*
|
||||
|
@ -882,6 +882,11 @@ public class JFrame extends Frame implements WindowConstants,
|
||||
*/
|
||||
protected class AccessibleJFrame extends AccessibleAWTFrame {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJFrame() {}
|
||||
|
||||
// AccessibleContext methods
|
||||
/**
|
||||
* Get the accessible name of this object.
|
||||
|
@ -2011,6 +2011,11 @@ public class JInternalFrame extends JComponent implements
|
||||
protected class AccessibleJInternalFrame extends AccessibleJComponent
|
||||
implements AccessibleValue {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJInternalFrame() {}
|
||||
|
||||
/**
|
||||
* Get the accessible name of this object.
|
||||
*
|
||||
@ -2302,6 +2307,11 @@ public class JInternalFrame extends JComponent implements
|
||||
protected class AccessibleJDesktopIcon extends AccessibleJComponent
|
||||
implements AccessibleValue {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJDesktopIcon() {}
|
||||
|
||||
/**
|
||||
* Gets the role of this object.
|
||||
*
|
||||
|
@ -1043,6 +1043,11 @@ public class JLabel extends JComponent implements SwingConstants, Accessible
|
||||
protected class AccessibleJLabel extends AccessibleJComponent
|
||||
implements AccessibleText, AccessibleExtendedComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJLabel() {}
|
||||
|
||||
/**
|
||||
* Get the accessible name of this object.
|
||||
*
|
||||
|
@ -766,6 +766,11 @@ public class JLayeredPane extends JComponent implements Accessible {
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJLayeredPane extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJLayeredPane() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -1395,6 +1395,11 @@ public class JMenu extends JMenuItem implements Accessible,MenuElement
|
||||
protected class AccessibleJMenu extends AccessibleJMenuItem
|
||||
implements AccessibleSelection {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJMenu() {}
|
||||
|
||||
/**
|
||||
* Returns the number of accessible children in the object. If all
|
||||
* of the children of this object implement Accessible, than this
|
||||
|
@ -510,6 +510,11 @@ public class JMenuBar extends JComponent implements Accessible,MenuElement
|
||||
protected class AccessibleJMenuBar extends AccessibleJComponent
|
||||
implements AccessibleSelection {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJMenuBar() {}
|
||||
|
||||
/**
|
||||
* Get the accessible state set of this object.
|
||||
*
|
||||
|
@ -2547,6 +2547,11 @@ public class JOptionPane extends JComponent implements Accessible
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJOptionPane extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJOptionPane() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -232,6 +232,10 @@ public class JPanel extends JComponent implements Accessible
|
||||
*/
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJPanel extends AccessibleJComponent {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJPanel() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
|
@ -406,6 +406,11 @@ public class JPasswordField extends JTextField {
|
||||
*/
|
||||
protected class AccessibleJPasswordField extends AccessibleJTextField {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJPasswordField() {}
|
||||
|
||||
/**
|
||||
* Gets the role of this object.
|
||||
*
|
||||
|
@ -1011,6 +1011,11 @@ public class JProgressBar extends JComponent implements SwingConstants, Accessib
|
||||
protected class AccessibleJProgressBar extends AccessibleJComponent
|
||||
implements AccessibleValue {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJProgressBar() {}
|
||||
|
||||
/**
|
||||
* Gets the state set of this object.
|
||||
*
|
||||
|
@ -285,6 +285,11 @@ public class JRadioButton extends JToggleButton implements Accessible {
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJRadioButton extends AccessibleJToggleButton {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJRadioButton() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -278,6 +278,11 @@ public class JRadioButtonMenuItem extends JMenuItem implements Accessible {
|
||||
*/
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJRadioButtonMenuItem extends AccessibleJMenuItem {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJRadioButtonMenuItem() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -847,6 +847,11 @@ public class JRootPane extends JComponent implements Accessible {
|
||||
@SuppressWarnings("serial")
|
||||
protected class RootLayout implements LayoutManager2, Serializable
|
||||
{
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected RootLayout() {}
|
||||
|
||||
/**
|
||||
* Returns the amount of space the layout would like to have.
|
||||
*
|
||||
@ -1012,6 +1017,11 @@ public class JRootPane extends JComponent implements Accessible {
|
||||
*/
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJRootPane extends AccessibleJComponent {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJRootPane() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -855,6 +855,11 @@ public class JScrollBar extends JComponent implements Adjustable, Accessible
|
||||
protected class AccessibleJScrollBar extends AccessibleJComponent
|
||||
implements AccessibleValue {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJScrollBar() {}
|
||||
|
||||
/**
|
||||
* Get the state set of this object.
|
||||
*
|
||||
|
@ -277,6 +277,11 @@ public class JSeparator extends JComponent implements SwingConstants, Accessible
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJSeparator extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJSeparator() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -1135,6 +1135,11 @@ public class JSplitPane extends JComponent implements Accessible
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJSplitPane extends AccessibleJComponent
|
||||
implements AccessibleValue {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJSplitPane() {}
|
||||
|
||||
/**
|
||||
* Gets the state set of this object.
|
||||
*
|
||||
|
@ -289,6 +289,11 @@ public class JTabbedPane extends JComponent
|
||||
* the tabbedpane (instead of the model itself) as the event source.
|
||||
*/
|
||||
protected class ModelListener implements ChangeListener, Serializable {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected ModelListener() {}
|
||||
|
||||
public void stateChanged(ChangeEvent e) {
|
||||
fireStateChanged();
|
||||
}
|
||||
|
@ -783,6 +783,11 @@ public class JTextArea extends JTextComponent {
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJTextArea extends AccessibleJTextComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJTextArea() {}
|
||||
|
||||
/**
|
||||
* Gets the state set of this object.
|
||||
*
|
||||
|
@ -950,6 +950,11 @@ public class JTextField extends JTextComponent implements SwingConstants {
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJTextField extends AccessibleJTextComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJTextField() {}
|
||||
|
||||
/**
|
||||
* Gets the state set of this object.
|
||||
*
|
||||
|
@ -831,6 +831,11 @@ public class JToolBar extends JComponent implements SwingConstants, Accessible
|
||||
*/
|
||||
protected class AccessibleJToolBar extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJToolBar() {}
|
||||
|
||||
/**
|
||||
* Get the state of this object.
|
||||
*
|
||||
|
@ -261,6 +261,11 @@ public class JToolTip extends JComponent implements Accessible {
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJToolTip extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJToolTip() {}
|
||||
|
||||
/**
|
||||
* Get the accessible description of this object.
|
||||
*
|
||||
|
@ -3320,6 +3320,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
|
||||
protected static class EmptySelectionModel extends
|
||||
DefaultTreeSelectionModel
|
||||
{
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected EmptySelectionModel() {}
|
||||
|
||||
/**
|
||||
* The single instance of {@code EmptySelectionModel}.
|
||||
*/
|
||||
@ -3442,6 +3447,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
|
||||
protected class TreeSelectionRedirector implements Serializable,
|
||||
TreeSelectionListener
|
||||
{
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected TreeSelectionRedirector() {}
|
||||
|
||||
/**
|
||||
* Invoked by the <code>TreeSelectionModel</code> when the
|
||||
* selection changes.
|
||||
@ -3863,6 +3873,11 @@ public class JTree extends JComponent implements Scrollable, Accessible
|
||||
* accordingly when nodes are removed, or changed.
|
||||
*/
|
||||
protected class TreeModelHandler implements TreeModelListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected TreeModelHandler() {}
|
||||
|
||||
public void treeNodesChanged(TreeModelEvent e) { }
|
||||
|
||||
public void treeNodesInserted(TreeModelEvent e) { }
|
||||
|
@ -1405,6 +1405,11 @@ public class JViewport extends JComponent implements Accessible
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class ViewListener extends ComponentAdapter implements Serializable
|
||||
{
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected ViewListener() {}
|
||||
|
||||
public void componentResized(ComponentEvent e) {
|
||||
fireStateChanged();
|
||||
revalidate();
|
||||
@ -1875,6 +1880,12 @@ public class JViewport extends JComponent implements Accessible
|
||||
*/
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJViewport extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJViewport() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -654,6 +654,10 @@ public class JWindow extends Window implements Accessible,
|
||||
@SuppressWarnings("serial")
|
||||
protected class AccessibleJWindow extends AccessibleAWTWindow {
|
||||
// everything is in the new parent, AccessibleAWTWindow
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJWindow() {}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -677,6 +677,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
|
||||
* Inside timer action.
|
||||
*/
|
||||
protected class insideTimerAction implements ActionListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected insideTimerAction() {}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@ -707,6 +712,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
|
||||
* Outside timer action.
|
||||
*/
|
||||
protected class outsideTimerAction implements ActionListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected outsideTimerAction() {}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@ -719,6 +729,11 @@ public class ToolTipManager extends MouseAdapter implements MouseMotionListener
|
||||
* Still inside timer action.
|
||||
*/
|
||||
protected class stillInsideTimerAction implements ActionListener {
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected stillInsideTimerAction() {}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
|
@ -808,6 +808,11 @@ public class JTableHeader extends JComponent implements TableColumnModelListener
|
||||
@SuppressWarnings("serial") // Same-version serialization only
|
||||
protected class AccessibleJTableHeader extends AccessibleJComponent {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected AccessibleJTableHeader() {}
|
||||
|
||||
/**
|
||||
* Get the role of this object.
|
||||
*
|
||||
|
@ -552,6 +552,11 @@ public class FormView extends ComponentView implements ActionListener {
|
||||
*/
|
||||
protected class MouseEventListener extends MouseAdapter {
|
||||
|
||||
/**
|
||||
* Constructor for subclasses to call.
|
||||
*/
|
||||
protected MouseEventListener() {}
|
||||
|
||||
public void mouseReleased(MouseEvent evt) {
|
||||
String imageData = getImageData(evt.getPoint());
|
||||
imageSubmit(imageData);
|
||||
|
Loading…
x
Reference in New Issue
Block a user