< prev index next >
test/jdk/java/lang/invoke/VarHandles/X-VarHandleTestMethodType.java.template
Print this page
rev 55900 : 8207257: Add VarHandle access test for value type declared in ref type
Reviewed-by: tbd
*** 1,7 ****
/*
! * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2015, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 19,34 ****
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* @test
! * @bug 8156486
* @run testng/othervm VarHandleTestMethodType$Type$
* @run testng/othervm -Djava.lang.invoke.VarHandle.VAR_HANDLE_GUARDS=false VarHandleTestMethodType$Type$
*/
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
--- 19,46 ----
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
+ #warn
+
+ #if[Value]
+ /*
+ * @test
+ * @bug 8156486 8207257
+ * @run testng/othervm -XX:+EnableValhalla VarHandleTestMethodType$Type$
+ * @run testng/othervm -Djava.lang.invoke.VarHandle.VAR_HANDLE_GUARDS=false
+ * -XX:+EnableValhalla VarHandleTestMethodType$Type$
+ */
+ #else[Value]
/*
* @test
! * @bug 8156486 8207257
* @run testng/othervm VarHandleTestMethodType$Type$
* @run testng/othervm -Djava.lang.invoke.VarHandle.VAR_HANDLE_GUARDS=false VarHandleTestMethodType$Type$
*/
+ #end[Value]
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
*** 134,144 ****
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.get(0);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get(recv);
});
--- 146,156 ----
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.get(0);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get(recv);
});
*** 157,167 ****
vh.set(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.set(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.set(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.set(0, $value1$);
});
--- 169,179 ----
vh.set(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.set(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.set(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.set(0, $value1$);
});
*** 184,194 ****
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getVolatile(0);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile(recv);
});
--- 196,206 ----
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getVolatile(0);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile(recv);
});
*** 207,217 ****
vh.setVolatile(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setVolatile(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setVolatile(0, $value1$);
});
--- 219,229 ----
vh.setVolatile(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setVolatile(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setVolatile(0, $value1$);
});
*** 234,244 ****
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getOpaque(0);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque(recv);
});
--- 246,256 ----
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getOpaque(0);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque(recv);
});
*** 257,267 ****
vh.setOpaque(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setOpaque(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setOpaque(0, $value1$);
});
--- 269,279 ----
vh.setOpaque(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setOpaque(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setOpaque(0, $value1$);
});
*** 284,294 ****
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getAcquire(0);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire(recv);
});
--- 296,306 ----
});
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) vh.getAcquire(0);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire(recv);
});
*** 307,317 ****
vh.setRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setRelease(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setRelease(0, $value1$);
});
--- 319,329 ----
vh.setRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
vh.setRelease(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setRelease(0, $value1$);
});
*** 331,344 ****
boolean r = vh.compareAndSet(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.compareAndSet(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.compareAndSet(0, $value1$, $value1$);
});
--- 343,356 ----
boolean r = vh.compareAndSet(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.compareAndSet(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.compareAndSet(0, $value1$, $value1$);
});
*** 357,370 ****
boolean r = vh.weakCompareAndSetPlain(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetPlain(0, $value1$, $value1$);
});
--- 369,382 ----
boolean r = vh.weakCompareAndSetPlain(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetPlain(0, $value1$, $value1$);
});
*** 383,396 ****
boolean r = vh.weakCompareAndSet(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSet(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSet(0, $value1$, $value1$);
});
--- 395,408 ----
boolean r = vh.weakCompareAndSet(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSet(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSet(0, $value1$, $value1$);
});
*** 409,422 ****
boolean r = vh.weakCompareAndSetAcquire(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetAcquire(0, $value1$, $value1$);
});
--- 421,434 ----
boolean r = vh.weakCompareAndSetAcquire(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetAcquire(0, $value1$, $value1$);
});
*** 435,448 ****
boolean r = vh.weakCompareAndSetRelease(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetRelease(0, $value1$, $value1$);
});
--- 447,460 ----
boolean r = vh.weakCompareAndSetRelease(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetRelease(0, $value1$, $value1$);
});
*** 461,481 ****
$type$ x = ($type$) vh.compareAndExchange(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchange(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange(recv, $value1$, $value1$);
});
--- 473,493 ----
$type$ x = ($type$) vh.compareAndExchange(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchange(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange(recv, $value1$, $value1$);
});
*** 494,514 ****
$type$ x = ($type$) vh.compareAndExchangeAcquire(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchangeAcquire(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire(recv, $value1$, $value1$);
});
--- 506,526 ----
$type$ x = ($type$) vh.compareAndExchangeAcquire(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchangeAcquire(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire(recv, $value1$, $value1$);
});
*** 527,547 ****
$type$ x = ($type$) vh.compareAndExchangeRelease(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(recv, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchangeRelease(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease(recv, $value1$, $value1$);
});
--- 539,559 ----
$type$ x = ($type$) vh.compareAndExchangeRelease(null, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(recv, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.compareAndExchangeRelease(0, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease(recv, $value1$, $value1$);
});
*** 560,577 ****
$type$ x = ($type$) vh.getAndSet(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSet(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSet(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet(recv, $value1$);
});
--- 572,589 ----
$type$ x = ($type$) vh.getAndSet(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSet(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSet(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet(recv, $value1$);
});
*** 589,606 ****
$type$ x = ($type$) vh.getAndSetAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSetAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire(recv, $value1$);
});
--- 601,618 ----
$type$ x = ($type$) vh.getAndSetAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSetAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire(recv, $value1$);
});
*** 618,635 ****
$type$ x = ($type$) vh.getAndSetRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSetRelease(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease(recv, $value1$);
});
--- 630,647 ----
$type$ x = ($type$) vh.getAndSetRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndSetRelease(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease(recv, $value1$);
});
*** 649,666 ****
$type$ x = ($type$) vh.getAndAdd(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAdd(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAdd(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd(recv, $value1$);
});
--- 661,678 ----
$type$ x = ($type$) vh.getAndAdd(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAdd(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAdd(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd(recv, $value1$);
});
*** 678,695 ****
$type$ x = ($type$) vh.getAndAddAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAddAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire(recv, $value1$);
});
--- 690,707 ----
$type$ x = ($type$) vh.getAndAddAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAddAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire(recv, $value1$);
});
*** 707,724 ****
$type$ x = ($type$) vh.getAndAddRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAddRelease(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease(recv, $value1$);
});
--- 719,736 ----
$type$ x = ($type$) vh.getAndAddRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndAddRelease(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease(recv, $value1$);
});
*** 738,755 ****
$type$ x = ($type$) vh.getAndBitwiseOr(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(recv, $value1$);
});
--- 750,767 ----
$type$ x = ($type$) vh.getAndBitwiseOr(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(recv, $value1$);
});
*** 768,785 ****
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire(recv, $value1$);
});
--- 780,797 ----
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire(recv, $value1$);
});
*** 798,815 ****
$type$ x = ($type$) vh.getAndBitwiseOrRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(recv, $value1$);
});
--- 810,827 ----
$type$ x = ($type$) vh.getAndBitwiseOrRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(recv, $value1$);
});
*** 828,845 ****
$type$ x = ($type$) vh.getAndBitwiseAnd(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(recv, $value1$);
});
--- 840,857 ----
$type$ x = ($type$) vh.getAndBitwiseAnd(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(recv, $value1$);
});
*** 858,875 ****
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire(recv, $value1$);
});
--- 870,887 ----
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire(recv, $value1$);
});
*** 888,905 ****
$type$ x = ($type$) vh.getAndBitwiseAndRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(recv, $value1$);
});
--- 900,917 ----
$type$ x = ($type$) vh.getAndBitwiseAndRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(recv, $value1$);
});
*** 918,935 ****
$type$ x = ($type$) vh.getAndBitwiseXor(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(recv, $value1$);
});
--- 930,947 ----
$type$ x = ($type$) vh.getAndBitwiseXor(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(recv, $value1$);
});
*** 948,965 ****
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire(recv, $value1$);
});
--- 960,977 ----
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire(recv, $value1$);
});
*** 978,995 ****
$type$ x = ($type$) vh.getAndBitwiseXorRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(recv, $value1$);
});
--- 990,1007 ----
$type$ x = ($type$) vh.getAndBitwiseXorRelease(null, $value1$);
});
checkCCE(() -> { // receiver reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(recv, $value1$);
});
*** 1017,1027 ****
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class)).
invokeExact(0);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class)).
invokeExact(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class)).
--- 1029,1039 ----
checkWMTE(() -> { // receiver primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class)).
invokeExact(0);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class)).
invokeExact(recv);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class)).
*** 1046,1056 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
hs.get(am, methodType(void.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
hs.get(am, methodType(void.class, int.class, $type$.class)).
--- 1058,1068 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
hs.get(am, methodType(void.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // receiver primitive class
hs.get(am, methodType(void.class, int.class, $type$.class)).
*** 1076,1090 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, $type$.class, $type$.class)).
invokeExact(Void.class, $value1$, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, VarHandleTestMethodType$Type$.class, Class.class, $type$.class)).
invokeExact(recv, Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, VarHandleTestMethodType$Type$.class, $type$.class, Class.class)).
invokeExact(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = (boolean) hs.get(am, methodType(boolean.class, int.class , $type$.class, $type$.class)).
--- 1088,1102 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, $type$.class, $type$.class)).
invokeExact(Void.class, $value1$, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, VarHandleTestMethodType$Type$.class, Class.class, $type$.class)).
invokeExact(recv, Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, VarHandleTestMethodType$Type$.class, $type$.class, Class.class)).
invokeExact(recv, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = (boolean) hs.get(am, methodType(boolean.class, int.class , $type$.class, $type$.class)).
*** 1108,1131 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class, $type$.class)).
invokeExact(Void.class, $value1$, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class, $type$.class)).
invokeExact(recv, Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, $type$.class, Class.class)).
invokeExact(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class , $type$.class, $type$.class)).
invokeExact(0, $value1$, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class , $type$.class, $type$.class)).
invokeExact(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class , $type$.class, $type$.class)).
--- 1120,1143 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class, $type$.class)).
invokeExact(Void.class, $value1$, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class, $type$.class)).
invokeExact(recv, Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, $type$.class, Class.class)).
invokeExact(recv, $value1$, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class , $type$.class, $type$.class)).
invokeExact(0, $value1$, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class , $type$.class, $type$.class)).
invokeExact(recv, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class , $type$.class, $type$.class)).
*** 1149,1168 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
--- 1161,1180 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
*** 1188,1207 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
--- 1200,1219 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
*** 1227,1246 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
--- 1239,1258 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, VarHandleTestMethodType$Type$.class, Class.class)).
invokeExact(recv, Void.class);
});
checkWMTE(() -> { // reciever primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, $type$.class)).
invokeExact(0, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, VarHandleTestMethodType$Type$.class, $type$.class)).
invokeExact(recv, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, VarHandleTestMethodType$Type$.class, $type$.class)).
*** 1261,1271 ****
static void testStaticFieldWrongMethodType(VarHandle vh) throws Throwable {
// Get
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get();
});
--- 1273,1283 ----
static void testStaticFieldWrongMethodType(VarHandle vh) throws Throwable {
// Get
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get();
});
*** 1275,1285 ****
});
// Set
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.set(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.set();
--- 1287,1297 ----
});
// Set
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.set(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.set();
*** 1289,1299 ****
});
// GetVolatile
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile();
});
--- 1301,1311 ----
});
// GetVolatile
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile();
});
*** 1302,1312 ****
});
// SetVolatile
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setVolatile();
--- 1314,1324 ----
});
// SetVolatile
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setVolatile();
*** 1316,1326 ****
});
// GetOpaque
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque();
});
--- 1328,1338 ----
});
// GetOpaque
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque();
});
*** 1329,1339 ****
});
// SetOpaque
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setOpaque();
--- 1341,1351 ----
});
// SetOpaque
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setOpaque();
*** 1343,1353 ****
});
// GetAcquire
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire();
});
--- 1355,1365 ----
});
// GetAcquire
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire();
});
*** 1356,1366 ****
});
// SetRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setRelease();
--- 1368,1378 ----
});
// SetRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
vh.setRelease();
*** 1371,1384 ****
#if[CAS]
// CompareAndSet
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.compareAndSet();
--- 1383,1396 ----
#if[CAS]
// CompareAndSet
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.compareAndSet();
*** 1388,1401 ****
});
// WeakCompareAndSet
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetPlain();
--- 1400,1413 ----
});
// WeakCompareAndSet
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetPlain();
*** 1405,1418 ****
});
// WeakCompareAndSetVolatile
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSet();
--- 1417,1430 ----
});
// WeakCompareAndSetVolatile
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSet();
*** 1422,1435 ****
});
// WeakCompareAndSetAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetAcquire();
--- 1434,1447 ----
});
// WeakCompareAndSetAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetAcquire();
*** 1439,1452 ****
});
// WeakCompareAndSetRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetRelease();
--- 1451,1464 ----
});
// WeakCompareAndSetRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
boolean r = vh.weakCompareAndSetRelease();
*** 1456,1473 ****
});
// CompareAndExchange
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange($value1$, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange($value1$, $value1$);
});
--- 1468,1485 ----
});
// CompareAndExchange
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange($value1$, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange($value1$, $value1$);
});
*** 1480,1497 ****
});
// CompareAndExchangeAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire($value1$, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire($value1$, $value1$);
});
--- 1492,1509 ----
});
// CompareAndExchangeAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire($value1$, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire($value1$, $value1$);
});
*** 1504,1521 ****
});
// CompareAndExchangeRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease($value1$, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease($value1$, $value1$);
});
--- 1516,1533 ----
});
// CompareAndExchangeRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease($value1$, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease($value1$, $value1$);
});
*** 1528,1542 ****
});
// GetAndSet
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet($value1$);
});
--- 1540,1554 ----
});
// GetAndSet
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet($value1$);
});
*** 1549,1563 ****
});
// GetAndSetAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire($value1$);
});
--- 1561,1575 ----
});
// GetAndSetAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire($value1$);
});
*** 1570,1584 ****
});
// GetAndSetRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease($value1$);
});
--- 1582,1596 ----
});
// GetAndSetRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease($value1$);
});
*** 1592,1606 ****
#end[CAS]
#if[AtomicAdd]
// GetAndAdd
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd($value1$);
});
--- 1604,1618 ----
#end[CAS]
#if[AtomicAdd]
// GetAndAdd
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd($value1$);
});
*** 1613,1627 ****
});
// GetAndAddAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire($value1$);
});
--- 1625,1639 ----
});
// GetAndAddAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire($value1$);
});
*** 1634,1648 ****
});
// GetAndAddRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease($value1$);
});
--- 1646,1660 ----
});
// GetAndAddRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease($value1$);
});
*** 1656,1670 ****
#end[AtomicAdd]
#if[Bitwise]
// GetAndBitwiseOr
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr($value1$);
});
--- 1668,1682 ----
#end[AtomicAdd]
#if[Bitwise]
// GetAndBitwiseOr
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr($value1$);
});
*** 1677,1691 ****
});
// GetAndBitwiseOrAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire($value1$);
});
--- 1689,1703 ----
});
// GetAndBitwiseOrAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire($value1$);
});
*** 1698,1712 ****
});
// GetAndBitwiseOrReleaseRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrRelease($value1$);
});
--- 1710,1724 ----
});
// GetAndBitwiseOrReleaseRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrRelease($value1$);
});
*** 1719,1733 ****
});
// GetAndBitwiseAnd
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd($value1$);
});
--- 1731,1745 ----
});
// GetAndBitwiseAnd
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd($value1$);
});
*** 1740,1754 ****
});
// GetAndBitwiseAndAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire($value1$);
});
--- 1752,1766 ----
});
// GetAndBitwiseAndAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire($value1$);
});
*** 1761,1775 ****
});
// GetAndBitwiseAndReleaseRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndRelease($value1$);
});
--- 1773,1787 ----
});
// GetAndBitwiseAndReleaseRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndRelease($value1$);
});
*** 1782,1796 ****
});
// GetAndBitwiseXor
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor($value1$);
});
--- 1794,1808 ----
});
// GetAndBitwiseXor
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor($value1$);
});
*** 1803,1817 ****
});
// GetAndBitwiseXorAcquire
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire($value1$);
});
--- 1815,1829 ----
});
// GetAndBitwiseXorAcquire
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire($value1$);
});
*** 1824,1838 ****
});
// GetAndBitwiseXorReleaseRelease
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorRelease($value1$);
});
--- 1836,1850 ----
});
// GetAndBitwiseXorReleaseRelease
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorRelease($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorRelease($value1$);
});
*** 1849,1859 ****
static void testStaticFieldWrongMethodType(Handles hs) throws Throwable {
int i = 0;
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET)) {
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class)).
invokeExact();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class)).
--- 1861,1871 ----
static void testStaticFieldWrongMethodType(Handles hs) throws Throwable {
int i = 0;
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET)) {
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class)).
invokeExact();
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class)).
*** 1865,1875 ****
invokeExact(Void.class);
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.SET)) {
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
--- 1877,1887 ----
invokeExact(Void.class);
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.SET)) {
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
*** 1882,1896 ****
});
}
#if[CAS]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.COMPARE_AND_SET)) {
// Incorrect argument types
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$.class, Class.class)).
invokeExact($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
--- 1894,1908 ----
});
}
#if[CAS]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.COMPARE_AND_SET)) {
// Incorrect argument types
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$.class, Class.class)).
invokeExact($value1$, Void.class);
});
// Incorrect arity
checkWMTE(() -> { // 0
*** 1903,1922 ****
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.COMPARE_AND_EXCHANGE)) {
// Incorrect argument types
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$.class, Class.class)).
invokeExact($value1$, Void.class);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class, $type$.class)).
invokeExact($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class, $type$.class)).
--- 1915,1934 ----
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.COMPARE_AND_EXCHANGE)) {
// Incorrect argument types
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, $type$.class)).
invokeExact(Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$.class, Class.class)).
invokeExact($value1$, Void.class);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class, $type$.class)).
invokeExact($value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class, $type$.class)).
*** 1933,1948 ****
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_SET)) {
// Incorrect argument types
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
--- 1945,1960 ----
});
}
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_SET)) {
// Incorrect argument types
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
*** 1961,1976 ****
#end[CAS]
#if[AtomicAdd]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_ADD)) {
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
--- 1973,1988 ----
#end[CAS]
#if[AtomicAdd]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_ADD)) {
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
*** 1989,2004 ****
#end[AtomicAdd]
#if[Bitwise]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_BITWISE)) {
// Incorrect argument types
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
--- 2001,2016 ----
#end[AtomicAdd]
#if[Bitwise]
for (TestAccessMode am : testAccessModesOfType(TestAccessType.GET_AND_BITWISE)) {
// Incorrect argument types
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class)).
invokeExact(Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$.class)).
invokeExact($value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$.class)).
*** 2035,2045 ****
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.get(array, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get(array, 0);
});
--- 2047,2057 ----
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.get(array, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.get(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.get(array, 0);
});
*** 2058,2068 ****
vh.set(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.set(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.set(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.set(0, 0, $value1$);
});
--- 2070,2080 ----
vh.set(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.set(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.set(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.set(0, 0, $value1$);
});
*** 2091,2101 ****
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getVolatile(array, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile(array, 0);
});
--- 2103,2113 ----
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getVolatile(array, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getVolatile(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getVolatile(array, 0);
});
*** 2114,2124 ****
vh.setVolatile(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setVolatile(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setVolatile(0, 0, $value1$);
});
--- 2126,2136 ----
vh.setVolatile(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setVolatile(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setVolatile(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setVolatile(0, 0, $value1$);
});
*** 2147,2157 ****
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getOpaque(array, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque(array, 0);
});
--- 2159,2169 ----
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getOpaque(array, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getOpaque(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getOpaque(array, 0);
});
*** 2170,2180 ****
vh.setOpaque(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setOpaque(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setOpaque(0, 0, $value1$);
});
--- 2182,2192 ----
vh.setOpaque(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setOpaque(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setOpaque(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setOpaque(0, 0, $value1$);
});
*** 2203,2213 ****
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAcquire(array, Void.class);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire(array, 0);
});
--- 2215,2225 ----
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAcquire(array, Void.class);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void x = (Void) vh.getAcquire(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAcquire(array, 0);
});
*** 2226,2236 ****
vh.setRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setRelease(0, 0, $value1$);
});
--- 2238,2248 ----
vh.setRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
vh.setRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
vh.setRelease(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
vh.setRelease(0, 0, $value1$);
});
*** 2253,2266 ****
boolean r = vh.compareAndSet(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.compareAndSet(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.compareAndSet(0, 0, $value1$, $value1$);
});
--- 2265,2278 ----
boolean r = vh.compareAndSet(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.compareAndSet(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.compareAndSet(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.compareAndSet(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.compareAndSet(0, 0, $value1$, $value1$);
});
*** 2282,2295 ****
boolean r = vh.weakCompareAndSetPlain(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetPlain(0, 0, $value1$, $value1$);
});
--- 2294,2307 ----
boolean r = vh.weakCompareAndSetPlain(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetPlain(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetPlain(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetPlain(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetPlain(0, 0, $value1$, $value1$);
});
*** 2311,2324 ****
boolean r = vh.weakCompareAndSet(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSet(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSet(0, 0, $value1$, $value1$);
});
--- 2323,2336 ----
boolean r = vh.weakCompareAndSet(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSet(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSet(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSet(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSet(0, 0, $value1$, $value1$);
});
*** 2340,2353 ****
boolean r = vh.weakCompareAndSetAcquire(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetAcquire(0, 0, $value1$, $value1$);
});
--- 2352,2365 ----
boolean r = vh.weakCompareAndSetAcquire(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetAcquire(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetAcquire(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetAcquire(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetAcquire(0, 0, $value1$, $value1$);
});
*** 2369,2382 ****
boolean r = vh.weakCompareAndSetRelease(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetRelease(0, 0, $value1$, $value1$);
});
--- 2381,2394 ----
boolean r = vh.weakCompareAndSetRelease(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // receiver reference class
boolean r = vh.weakCompareAndSetRelease(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
boolean r = vh.weakCompareAndSetRelease(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
boolean r = vh.weakCompareAndSetRelease(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = vh.weakCompareAndSetRelease(0, 0, $value1$, $value1$);
});
*** 2398,2421 ****
$type$ x = ($type$) vh.compareAndExchange(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchange(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchange(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange(array, 0, $value1$, $value1$);
});
--- 2410,2433 ----
$type$ x = ($type$) vh.compareAndExchange(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchange(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchange(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchange(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchange(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchange(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchange(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchange(array, 0, $value1$, $value1$);
});
*** 2434,2457 ****
$type$ x = ($type$) vh.compareAndExchangeAcquire(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchangeAcquire(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire(array, 0, $value1$, $value1$);
});
--- 2446,2469 ----
$type$ x = ($type$) vh.compareAndExchangeAcquire(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchangeAcquire(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchangeAcquire(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeAcquire(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeAcquire(array, 0, $value1$, $value1$);
});
*** 2470,2493 ****
$type$ x = ($type$) vh.compareAndExchangeRelease(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, 0, $value1$, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, 0, Void.class, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchangeRelease(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease(array, 0, $value1$, $value1$);
});
--- 2482,2505 ----
$type$ x = ($type$) vh.compareAndExchangeRelease(null, 0, $value1$, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(Void.class, 0, $value1$, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // expected reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, 0, Void.class, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // actual reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.compareAndExchangeRelease(0, 0, $value1$, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.compareAndExchangeRelease(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.compareAndExchangeRelease(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.compareAndExchangeRelease(array, 0, $value1$, $value1$);
});
*** 2506,2526 ****
$type$ x = ($type$) vh.getAndSet(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSet(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSet(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSet(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet(array, 0, $value1$);
});
--- 2518,2538 ----
$type$ x = ($type$) vh.getAndSet(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSet(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSet(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSet(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSet(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSet(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSet(array, 0, $value1$);
});
*** 2539,2559 ****
$type$ x = ($type$) vh.getAndSetAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSetAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSetAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire(array, 0, $value1$);
});
--- 2551,2571 ----
$type$ x = ($type$) vh.getAndSetAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSetAcquire(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSetAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSetAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetAcquire(array, 0, $value1$);
});
*** 2572,2592 ****
$type$ x = ($type$) vh.getAndSetRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSetRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSetRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease(array, 0, $value1$);
});
--- 2584,2604 ----
$type$ x = ($type$) vh.getAndSetRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndSetRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndSetRelease(array, 0, Void.class);
});
checkWMTE(() -> { // reciarrayever primitive class
$type$ x = ($type$) vh.getAndSetRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndSetRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndSetRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndSetRelease(array, 0, $value1$);
});
*** 2606,2626 ****
$type$ x = ($type$) vh.getAndAdd(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAdd(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAdd(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAdd(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd(array, 0, $value1$);
});
--- 2618,2638 ----
$type$ x = ($type$) vh.getAndAdd(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAdd(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAdd(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAdd(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAdd(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAdd(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAdd(array, 0, $value1$);
});
*** 2639,2659 ****
$type$ x = ($type$) vh.getAndAddAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAddAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAddAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire(array, 0, $value1$);
});
--- 2651,2671 ----
$type$ x = ($type$) vh.getAndAddAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAddAcquire(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAddAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAddAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddAcquire(array, 0, $value1$);
});
*** 2672,2692 ****
$type$ x = ($type$) vh.getAndAddRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAddRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAddRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease(array, 0, $value1$);
});
--- 2684,2704 ----
$type$ x = ($type$) vh.getAndAddRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndAddRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndAddRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndAddRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndAddRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndAddRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndAddRelease(array, 0, $value1$);
});
*** 2706,2726 ****
$type$ x = ($type$) vh.getAndBitwiseOr(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOr(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(array, 0, $value1$);
});
--- 2718,2738 ----
$type$ x = ($type$) vh.getAndBitwiseOr(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOr(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOr(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOr(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOr(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOr(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOr(array, 0, $value1$);
});
*** 2739,2759 ****
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire(array, 0, $value1$);
});
--- 2751,2771 ----
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOrAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrAcquire(array, 0, $value1$);
});
*** 2772,2792 ****
$type$ x = ($type$) vh.getAndBitwiseOrRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrRelease(array, 0, $value1$);
});
--- 2784,2804 ----
$type$ x = ($type$) vh.getAndBitwiseOrRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseOrRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseOrRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseOrRelease(array, 0, $value1$);
});
*** 2805,2825 ****
$type$ x = ($type$) vh.getAndBitwiseAnd(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(array, 0, $value1$);
});
--- 2817,2837 ----
$type$ x = ($type$) vh.getAndBitwiseAnd(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAnd(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAnd(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAnd(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAnd(array, 0, $value1$);
});
*** 2838,2858 ****
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire(array, 0, $value1$);
});
--- 2850,2870 ----
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAndAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndAcquire(array, 0, $value1$);
});
*** 2871,2891 ****
$type$ x = ($type$) vh.getAndBitwiseAndRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndRelease(array, 0, $value1$);
});
--- 2883,2903 ----
$type$ x = ($type$) vh.getAndBitwiseAndRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseAndRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseAndRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseAndRelease(array, 0, $value1$);
});
*** 2904,2924 ****
$type$ x = ($type$) vh.getAndBitwiseXor(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXor(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(array, 0, $value1$);
});
--- 2916,2936 ----
$type$ x = ($type$) vh.getAndBitwiseXor(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXor(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXor(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXor(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXor(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXor(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXor(array, 0, $value1$);
});
*** 2937,2957 ****
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire(array, 0, $value1$);
});
--- 2949,2969 ----
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXorAcquire(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorAcquire(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorAcquire(array, 0, $value1$);
});
*** 2970,2990 ****
$type$ x = ($type$) vh.getAndBitwiseXorRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(Void.class, 0, $value1$);
});
! check{#if[String]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[String]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorRelease(array, 0, $value1$);
});
--- 2982,3002 ----
$type$ x = ($type$) vh.getAndBitwiseXorRelease(null, 0, $value1$);
});
checkCCE(() -> { // array reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(Void.class, 0, $value1$);
});
! check{#if[Class]?CCE:WMTE}(() -> { // value reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(0, 0, $value1$);
});
checkWMTE(() -> { // index reference class
$type$ x = ($type$) vh.getAndBitwiseXorRelease(array, Void.class, $value1$);
});
// Incorrect return type
! check{#if[Class]?CCE:WMTE}(() -> { // reference class
Void r = (Void) vh.getAndBitwiseXorRelease(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) vh.getAndBitwiseXorRelease(array, 0, $value1$);
});
*** 3019,3029 ****
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class)).
invokeExact(array, Void.class);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class)).
invokeExact(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class)).
--- 3031,3041 ----
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class)).
invokeExact(array, Void.class);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void x = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class)).
invokeExact(array, 0);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class)).
*** 3048,3058 ****
});
hs.checkWMTEOrCCE(() -> { // array reference class
hs.get(am, methodType(void.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
hs.get(am, methodType(void.class, int.class, int.class, $type$.class)).
--- 3060,3070 ----
});
hs.checkWMTEOrCCE(() -> { // array reference class
hs.get(am, methodType(void.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
hs.get(am, methodType(void.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // receiver primitive class
hs.get(am, methodType(void.class, int.class, int.class, $type$.class)).
*** 3081,3095 ****
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, int.class, $type$.class, $type$.class)).
invokeExact(Void.class, 0, $value1$, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$[].class, int.class, Class.class, $type$.class)).
invokeExact(array, 0, Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$[].class, int.class, $type$.class, Class.class)).
invokeExact(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = (boolean) hs.get(am, methodType(boolean.class, int.class, int.class, $type$.class, $type$.class)).
--- 3093,3107 ----
});
hs.checkWMTEOrCCE(() -> { // receiver reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, Class.class, int.class, $type$.class, $type$.class)).
invokeExact(Void.class, 0, $value1$, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$[].class, int.class, Class.class, $type$.class)).
invokeExact(array, 0, Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
boolean r = (boolean) hs.get(am, methodType(boolean.class, $type$[].class, int.class, $type$.class, Class.class)).
invokeExact(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // receiver primitive class
boolean r = (boolean) hs.get(am, methodType(boolean.class, int.class, int.class, $type$.class, $type$.class)).
*** 3118,3132 ****
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class, $type$.class)).
invokeExact(Void.class, 0, $value1$, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class, $type$.class)).
invokeExact(array, 0, Void.class, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, $type$.class, Class.class)).
invokeExact(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class, $type$.class)).
--- 3130,3144 ----
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class, $type$.class)).
invokeExact(Void.class, 0, $value1$, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // expected reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class, $type$.class)).
invokeExact(array, 0, Void.class, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // actual reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, $type$.class, Class.class)).
invokeExact(array, 0, $value1$, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class, $type$.class)).
*** 3135,3145 ****
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class, $type$.class)).
invokeExact(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class, $type$.class)).
invokeExact(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class, $type$.class)).
--- 3147,3157 ----
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class, $type$.class)).
invokeExact(array, Void.class, $value1$, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class, $type$.class)).
invokeExact(array, 0, $value1$, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class, $type$.class)).
*** 3164,3174 ****
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
--- 3176,3186 ----
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
*** 3177,3187 ****
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
--- 3189,3199 ----
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
*** 3208,3218 ****
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
--- 3220,3230 ----
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
*** 3221,3231 ****
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
--- 3233,3243 ----
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
*** 3252,3262 ****
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
--- 3264,3274 ----
});
hs.checkWMTEOrCCE(() -> { // array reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, Class.class, int.class, $type$.class)).
invokeExact(Void.class, 0, $value1$);
});
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // value reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, int.class, Class.class)).
invokeExact(array, 0, Void.class);
});
checkWMTE(() -> { // array primitive class
$type$ x = ($type$) hs.get(am, methodType($type$.class, int.class, int.class, $type$.class)).
*** 3265,3275 ****
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[String]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
--- 3277,3287 ----
checkWMTE(() -> { // index reference class
$type$ x = ($type$) hs.get(am, methodType($type$.class, $type$[].class, Class.class, $type$.class)).
invokeExact(array, Void.class, $value1$);
});
// Incorrect return type
! {#if[Class]?hs.checkWMTEOrCCE:checkWMTE}(() -> { // reference class
Void r = (Void) hs.get(am, methodType(Void.class, $type$[].class, int.class, $type$.class)).
invokeExact(array, 0, $value1$);
});
checkWMTE(() -> { // primitive class
$wrong_primitive_type$ x = ($wrong_primitive_type$) hs.get(am, methodType($wrong_primitive_type$.class, $type$[].class, int.class, $type$.class)).
< prev index next >