blob: c3de37be1aa4ad52c349c4bc8d063714021d90a2 [file] [log] [blame]
// fields double initialization
import java.io.*;
import java.net.*;
class Foo {
final int k;
final int ff = 5;
Foo(int i) {
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
{
k=0;
}
}
class c2 {
static final int k;
static {
k=0;
}
c2() {
int i = k;
}
static {
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
}
class c3 {
final int k;
{
k=0;
}
c3() {
int i = k;
}
{
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
}
class c4 {
final int k;
{
k=0;
}
c4(int i) {
if (false)
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
c4() {
this(0);
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
}
// redirected ctrs
class c5 {
<error descr="Variable 'k' might not have been initialized">final int k</error>;
c5(int i) {
k =1;
}
c5() {
this(0);
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
c5(char c) {
}
c5(int i, int j) {
this('c');
k = 5;
}
c5(String s) {
this(0,0);
<error descr="Variable 'k' might already have been assigned to">k</error> =1;
}
}
class c6 {
final int i;
c6() {
this(0);
}
c6(int i) {
this(0,0);
}
c6(int k, int l) {
i = k;
}
}
// multiple initalizers
class c7 {
private final String x;
{
x = "Hello";
}
private final String y;
{
y = x;
}
private static int i;
{
int j = 0;
}
static {
i = 9;
}
{
<error descr="Variable 'y' might already have been assigned to">y</error> = ""+i;
}
}