You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LocalsFromInnerCE.java 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /** @testcase PUREJAVA PR#739 local variables must be final to be accessed from inner class */
  2. class LocalsFromInnerCE {
  3. void f() {
  4. int i = 0;
  5. new Runnable() {
  6. public void run() { i++; } // CE 6 nonfinal variable
  7. }.run();
  8. }
  9. static void sf() {
  10. int i = 0;
  11. new Runnable() {
  12. public void run() { i++; } // CE 13 nonfinal variable
  13. }.run();
  14. }
  15. void f(int i) {
  16. new Runnable() {
  17. public void run() { i++; } // CE 19 nonfinal variable
  18. }.run();
  19. }
  20. static void sf(int i) {
  21. new Runnable() {
  22. public void run() { i++; } // CE 25 nonfinal variable
  23. }.run();
  24. }
  25. static {
  26. int i = 0;
  27. new Runnable() {
  28. public void run() { i++; } // CE 32 nonfinal variable
  29. }.run();
  30. }
  31. void m(int i) {
  32. class m {
  33. void f(int i) {
  34. new Runnable() {
  35. public void run() { i++; } // CE 40 nonfinal variable
  36. }.run();
  37. }
  38. }
  39. }
  40. void m() {
  41. int i = 0;
  42. class m {
  43. void f() {
  44. new Runnable() {
  45. public void run() { i++; } // CE 51 nonfinal variable
  46. }.run();
  47. }
  48. }
  49. }
  50. class m {
  51. void f() {
  52. int i = 0;
  53. new Runnable() {
  54. public void run() { i++; } // CE 61 nonfinal variable
  55. }.run();
  56. }
  57. void f(int i) {
  58. new Runnable() {
  59. public void run() { i++; } // CE 67 nonfinal variable
  60. }.run();
  61. }
  62. }
  63. LocalsFromInnerCE() {
  64. int i = 0;
  65. new Runnable() {
  66. public void run() { i++; } // CE 75 nonfinal variable
  67. }.run();
  68. }
  69. LocalsFromInnerCE(int i) {
  70. new Runnable() {
  71. public void run() { i++; } // CE 81 nonfinal variable
  72. }.run();
  73. }
  74. }