blob: 93ca78e6fb791a522852ad5536c11280b1a26b04 [file] [log] [blame]
import java.util.function.Function;
import org.checkerframework.framework.testchecker.flowexpression.qual.FlowExp;
public class LambdaParameter {
void method(String methodParam) {
Function<String, String> func1 =
(
// :: error: (lambda.param)
@FlowExp("methodParam") String lambdaParam) -> {
return "";
};
Function<String, String> func2 =
(
// :: error: (lambda.param) :: error: (expression.unparsable)
@FlowExp("lambdaParam") String lambdaParam) -> {
return "";
};
Function<String, String> func3 =
(
// :: error: (lambda.param)
@FlowExp("#1") String lambdaParam) -> {
@FlowExp("lambdaParam") String s = lambdaParam;
return "";
};
Function<@FlowExp("methodParam") String, String> func4 =
(
@FlowExp("methodParam") String lambdaParam) -> {
return "";
};
}
void method2(String methodParam, @FlowExp("#1") String methodParam2) {
Function<@FlowExp("methodParam") String, String> func1 =
(
@FlowExp("methodParam") String lambdaParam) -> {
@FlowExp("methodParam") String a = methodParam2;
@FlowExp("methodParam") String b = lambdaParam;
return "";
};
}
void method3() {
String local = "";
Function<String, String> func1 =
(
// :: error: (lambda.param)
@FlowExp("local") String lambdaParam) -> {
return "";
};
Function<@FlowExp("local") String, String> func2 =
(
@FlowExp("local") String lambdaParam) -> {
return "";
};
}
void method4() {
String local = "";
@FlowExp("local") String otherLocal = null;
Function<@FlowExp("local") String, String> func1 =
(
@FlowExp("local") String lambdaParam) -> {
@FlowExp("local") String a = otherLocal;
@FlowExp("local") String b = lambdaParam;
return "";
};
}
}