aboutsummaryrefslogtreecommitdiff
path: root/src/test/resources/com/puppycrawl/tools/checkstyle/checks/design/InputFinalClass.java
blob: aae3950c12758476d0bc9501991fda46e06d577c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
////////////////////////////////////////////////////////////////////////////////
// Test case file for checkstyle.
// Created: 2003
////////////////////////////////////////////////////////////////////////////////
package com.puppycrawl.tools.checkstyle.checks.design;

public class InputFinalClass 
{
    private InputFinalClass() {}
}

final class test2 {}
class test3 
{
   class test4 
   {
       private test4() {}
   }
}

class test5
{
    private test5() {}
    test5(int i) {}
}

class test6 
{
    public test6() {}
}

final class test7 {
    private test7() {}
}

// Typesafe enum with operation
// abstract classes cannot be final, see bug #837012
abstract class Operation
{
    abstract double eval(double a, double b);
    
    public static final Operation PLUS =
	new Operation("+")
	{
	    double eval(double a, double b)
	    {
		return a + b;
	    }
	};
    
    public static final Operation MINUS =
	new Operation("-")
	{
	    double eval(double a, double b)
	    {
		return a - b;
	    }
	};
    
    private String _name;
    private Operation(String name)
    {
	this._name = name;
    }
}

// Typesafe enum with operation
// abstract classes cannot be final, see bug #837012
interface Evaluatable
{
    double eval(double a, double b);
}

// abstract class without it's own abstract method decl
abstract class Operation2 implements Evaluatable 
{
    
    public static final Operation2 PLUS =
	new Operation2("+")
	{
	    public double eval(double a, double b)
	    {
		return a + b;
	    }
	};
    
    public static final Operation2 MINUS =
	new Operation2("-")
	{
	    public double eval(double a, double b)
	    {
		return a - b;
	    }
	};
    
    private String _name;
    private Operation2(String name)
    {
	this._name = name;
    }
}

enum testenum1
{
    A, B;
    testenum1() {}
}

enum testenum2
{
    A, B;

    public static class someinnerClass
    {
        private someinnerClass() {}
    }
}

interface TestInterface {
    class SomeClass {
        private SomeClass() {}
    }
}

@interface SomeAnnotation {
    class SomeClass {
        private SomeClass() {}
    }
}