134 public String sf () { return "instance"; } 135 } 136 137 public void testOrdinaryMembers() { 138 OrdinaryMembers.ss = "foo"; 139 assertEquals(OrdinaryMembers.ssf(), "foo"); 140 OrdinaryMembers o = new OrdinaryMembers(3); 141 assertEquals(o.sf(), "instance"); 142 } 143 144 class LocalRecordHelper { 145 Class<?> m(int x) { 146 record R (int x) { } 147 assertEquals(new R(x).x(), x); 148 return R.class; 149 } 150 } 151 152 public void testLocalRecordsStatic() { 153 Class<?> c = new LocalRecordHelper().m(3); 154 assertTrue(c.isRecord()); 155 assertTrue((c.getModifiers() & Modifier.STATIC) != 0); 156 assertTrue((c.getModifiers() & Modifier.FINAL) != 0); 157 } 158 159 static class NestedRecordHelper { 160 record R1(int x) { } 161 162 static class Nested { 163 record R2(int x) { } 164 } 165 166 Class<?> m() { 167 record R4(int x) { } 168 return R4.class; 169 } 170 171 Class<?> m2() { 172 Supplier<Class<?>> s = () -> { 173 record R5(int x) { } 174 return R5.class; 175 }; 176 return s.get(); 181 return R6.class; 182 } 183 184 static Class<?> m4() { 185 Supplier<Class<?>> s = () -> { 186 record R7(int x) { } 187 return R7.class; 188 }; 189 return s.get(); 190 } 191 } 192 193 public void testNestedRecordsStatic() { 194 NestedRecordHelper n = new NestedRecordHelper(); 195 for (Class<?> c : List.of(NestedRecordHelper.R1.class, 196 NestedRecordHelper.Nested.R2.class, 197 n.m(), 198 n.m2(), 199 NestedRecordHelper.m3(), 200 NestedRecordHelper.m4())) { 201 assertTrue(c.isRecord()); 202 assertTrue((c.getModifiers() & Modifier.STATIC) != 0); 203 assertTrue((c.getModifiers() & Modifier.FINAL) != 0); 204 } 205 } 206 } | 134 public String sf () { return "instance"; } 135 } 136 137 public void testOrdinaryMembers() { 138 OrdinaryMembers.ss = "foo"; 139 assertEquals(OrdinaryMembers.ssf(), "foo"); 140 OrdinaryMembers o = new OrdinaryMembers(3); 141 assertEquals(o.sf(), "instance"); 142 } 143 144 class LocalRecordHelper { 145 Class<?> m(int x) { 146 record R (int x) { } 147 assertEquals(new R(x).x(), x); 148 return R.class; 149 } 150 } 151 152 public void testLocalRecordsStatic() { 153 Class<?> c = new LocalRecordHelper().m(3); 154 String message = c.toGenericString(); 155 assertTrue(c.isRecord(), message); 156 assertTrue((c.getModifiers() & Modifier.STATIC) != 0, message); 157 assertTrue((c.getModifiers() & Modifier.FINAL) != 0, message); 158 } 159 160 static class NestedRecordHelper { 161 record R1(int x) { } 162 163 static class Nested { 164 record R2(int x) { } 165 } 166 167 Class<?> m() { 168 record R4(int x) { } 169 return R4.class; 170 } 171 172 Class<?> m2() { 173 Supplier<Class<?>> s = () -> { 174 record R5(int x) { } 175 return R5.class; 176 }; 177 return s.get(); 182 return R6.class; 183 } 184 185 static Class<?> m4() { 186 Supplier<Class<?>> s = () -> { 187 record R7(int x) { } 188 return R7.class; 189 }; 190 return s.get(); 191 } 192 } 193 194 public void testNestedRecordsStatic() { 195 NestedRecordHelper n = new NestedRecordHelper(); 196 for (Class<?> c : List.of(NestedRecordHelper.R1.class, 197 NestedRecordHelper.Nested.R2.class, 198 n.m(), 199 n.m2(), 200 NestedRecordHelper.m3(), 201 NestedRecordHelper.m4())) { 202 String message = c.toGenericString(); 203 assertTrue(c.isRecord(), message); 204 assertTrue((c.getModifiers() & Modifier.STATIC) != 0, message); 205 assertTrue((c.getModifiers() & Modifier.FINAL) != 0, message); 206 } 207 } 208 } |