blob: 0f8ad112b367b208f4f5cf8ea146aa18780cdd96 [file]
// RUN_PIPELINE_TILL: BACKEND
// WITH_STDLIB
// FILE: JavaMain.java
import kotlin.MustUseReturnValues;
import kotlin.IgnorableReturnValue;
@MustUseReturnValues
public class JavaMain {
public JavaMain() { }
public String checkedMethod() {
System.out.println("checkedMethod");
return("checkedMethod");
}
@IgnorableReturnValue
public String ignoredMethod() {
System.out.println("ignoredMethod");
return("ignoredMethod");
}
public Exception createException() {
System.out.println("createException");
return new RuntimeException("createException");
}
public String getProp() {
return "prop";
}
}
// FILE: JavaImplicitConstructor.java
import kotlin.MustUseReturnValues;
@MustUseReturnValues
public class JavaImplicitConstructor {}
// FILE: KtFile.kt
fun simple() {
<!RETURN_VALUE_NOT_USED!>JavaImplicitConstructor<!>()
<!RETURN_VALUE_NOT_USED!>JavaMain<!>()
JavaMain().<!RETURN_VALUE_NOT_USED!>prop<!>
JavaMain().<!RETURN_VALUE_NOT_USED!>checkedMethod<!>()
val annotatedClassMember = JavaMain().checkedMethod()
JavaMain().ignoredMethod()
val markedToIgnore = JavaMain().ignoredMethod()
val _ = JavaMain().checkedMethod()
}
fun useInAnotherCall() {
println(JavaMain().checkedMethod())
}
fun getAndThrow() {
throw JavaMain().createException()
}
fun returnIt(): String {
return JavaMain().checkedMethod()
}
fun useInCondition() {
if(JavaMain().checkedMethod() is String) {
print("It is")
}
}
fun useInLoop() {
for(ch in JavaMain().checkedMethod()) {
print(ch)
}
}
fun expression() = JavaMain().checkedMethod()
fun main() {
simple()
useInAnotherCall()
getAndThrow()
returnIt()
useInCondition()
useInLoop()
expression()
}
/* GENERATED_FIR_TAGS: flexibleType, forLoop, functionDeclaration, ifExpression, isExpression, javaFunction, javaType,
localProperty, propertyDeclaration, stringLiteral, unnamedLocalVariable */