import org.checkerframework.framework.test.*;
import org.checkerframework.framework.testchecker.util.*;

public class NonMethodCode {

  @Odd String f1 = null;
  String g1 = "def";

  static @Odd String sf1 = null;
  static String sg1 = "def";

  // test flow for field initializer
  @Odd String f2 = g1 == f1 ? g1 : f1;

  // test flow for initializer blocks
  {
    String l1 = f1;
    @Odd String l2 = l1;
    if (g1 == f1) {
      @Odd String l3 = g1;
    }
    // :: error: (assignment)
    @Odd String l4 = g1;
  }

  // test flow for static initializer blocks
  static {
    String l1 = sf1;
    @Odd String l2 = l1;
    if (sg1 == sf1) {
      @Odd String l3 = sg1;
    }
    // :: error: (assignment)
    @Odd String l4 = sg1;
  }
}
