@ -613,6 +613,9 @@ public class ReflectivePropertyAccessor implements PropertyAccessor {
@@ -613,6 +613,9 @@ public class ReflectivePropertyAccessor implements PropertyAccessor {
@ -909,7 +910,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -909,7 +910,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
.withMessageEndingWith("Type cannot be found 'Missing'");
assertCantCompile(expression);
assertCannotCompile(expression);
}
@SuppressWarnings("unchecked")
@ -994,7 +995,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -994,7 +995,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// use of primitive as type for instanceof check - compilable
// but always false
@ -1279,13 +1280,13 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1279,13 +1280,13 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// Can't compile this as we aren't going down the getfalse() branch in our evaluation
expression=parser.parseExpression("gettrue() or getfalse()");
resultI=expression.getValue(tc,boolean.class);
assertCantCompile(expression);
assertCannotCompile(expression);
expression=parser.parseExpression("getA() or getB()");
tc.a=true;
tc.b=true;
resultI=expression.getValue(tc,boolean.class);
assertCantCompile(expression);// Haven't yet been into second branch
assertCannotCompile(expression);// Haven't yet been into second branch
tc.a=false;
tc.b=true;
resultI=expression.getValue(tc,boolean.class);
@ -1335,13 +1336,13 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1335,13 +1336,13 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// Can't compile this as we aren't going down the gettrue() branch in our evaluation
expression=parser.parseExpression("getfalse() and gettrue()");
resultI=expression.getValue(tc,boolean.class);
assertCantCompile(expression);
assertCannotCompile(expression);
expression=parser.parseExpression("getA() and getB()");
tc.a=false;
tc.b=false;
resultI=expression.getValue(tc,boolean.class);
assertCantCompile(expression);// Haven't yet been into second branch
assertCannotCompile(expression);// Haven't yet been into second branch
tc.a=true;
tc.b=false;
resultI=expression.getValue(tc,boolean.class);
@ -1409,7 +1410,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1409,7 +1410,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
booleanroot=true;
expression=parser.parseExpression("(#root and true)?T(Integer).valueOf(1):T(Long).valueOf(3L)");
@ -1636,7 +1637,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1636,7 +1637,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
Strings="abc";
expression=parser.parseExpression("#root?:'b'");
assertCantCompile(expression);
assertCannotCompile(expression);
resultI=expression.getValue(s,String.class);
assertThat(resultI).isEqualTo("abc");
assertCanCompile(expression);
@ -1792,7 +1793,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1792,7 +1793,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -1801,7 +1802,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -1801,7 +1802,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -2059,7 +2060,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2059,7 +2060,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -2118,7 +2119,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2118,7 +2119,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -2168,7 +2169,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2168,7 +2169,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -2230,7 +2231,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2230,7 +2231,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -2310,7 +2311,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2310,7 +2311,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// number types are not the same
expression=parse("1 == 3.0d");
assertCantCompile(expression);
assertCannotCompile(expression);
Doubled=3.0d;
expression=parse("#root==3.0d");
@ -2455,7 +2456,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -2455,7 +2456,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -3127,7 +3128,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -3127,7 +3128,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// Three strings, optimal bytecode would only use one StringBuilder
@ -4262,7 +4263,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4262,7 +4263,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4272,7 +4273,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4272,7 +4273,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4283,7 +4284,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4283,7 +4284,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// This will call the varargs concat with an empty array
expression=parser.parseExpression("concat()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEmpty();
assertCanCompile(expression);
@ -4295,7 +4296,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4295,7 +4296,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4306,7 +4307,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4306,7 +4307,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// This will call the varargs concat with an empty array
expression=parser.parseExpression("concat2()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEmpty();
assertCanCompile(expression);
@ -4322,7 +4323,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4322,7 +4323,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// varargs string
expression=parser.parseExpression("eleven()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEmpty();
assertCanCompile(expression);
@ -4333,7 +4334,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4333,7 +4334,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4344,7 +4345,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4344,7 +4345,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4355,7 +4356,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4355,7 +4356,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4365,7 +4366,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4365,7 +4366,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4387,7 +4388,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4387,7 +4388,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4397,7 +4398,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4397,7 +4398,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("twelve(1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.i).isEqualTo(1);
assertCanCompile(expression);
@ -4408,7 +4409,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4408,7 +4409,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4419,7 +4420,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4419,7 +4420,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4430,7 +4431,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4430,7 +4431,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4441,7 +4442,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4441,7 +4442,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4452,7 +4453,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4452,7 +4453,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4462,7 +4463,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4462,7 +4463,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4473,7 +4474,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4473,7 +4474,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4483,7 +4484,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4483,7 +4484,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("arrays(s1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("1");
assertCanCompile(expression);
@ -4494,7 +4495,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4494,7 +4495,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4504,7 +4505,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4504,7 +4505,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4515,7 +4516,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4515,7 +4516,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4525,7 +4526,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4525,7 +4526,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("arrayj(l1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("1");
assertCanCompile(expression);
@ -4536,7 +4537,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4536,7 +4537,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4546,7 +4547,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4546,7 +4547,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("arrayc(c1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("a");
assertCanCompile(expression);
@ -4557,7 +4558,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4557,7 +4558,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4567,7 +4568,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4567,7 +4568,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("arrayb(b1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("65");
assertCanCompile(expression);
@ -4578,7 +4579,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4578,7 +4579,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4588,7 +4589,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4588,7 +4589,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
tc.reset();
expression=parser.parseExpression("arrayf(f1)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("1.0");
assertCanCompile(expression);
@ -4603,7 +4604,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4603,7 +4604,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4620,7 +4621,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4620,7 +4621,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4637,7 +4638,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4637,7 +4638,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4654,7 +4655,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4654,7 +4655,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4672,7 +4673,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4672,7 +4673,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// non-static method, no args, void return
expression=parser.parseExpression("one()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4682,7 +4683,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4682,7 +4683,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// static method, no args, void return
expression=parser.parseExpression("two()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4692,7 +4693,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4692,7 +4693,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// non-static method, reference type return
expression=parser.parseExpression("three()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4701,7 +4702,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4701,7 +4702,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// non-static method, primitive type return
expression=parser.parseExpression("four()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4710,7 +4711,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4710,7 +4711,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// static method, reference type return
expression=parser.parseExpression("five()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4719,7 +4720,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4719,7 +4720,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// static method, primitive type return
expression=parser.parseExpression("six()");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4728,7 +4729,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4728,7 +4729,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// non-static method, one parameter of reference type
@ -4738,7 +4739,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4738,7 +4739,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4748,7 +4749,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4748,7 +4749,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// non-static method, one parameter of primitive type
expression=parser.parseExpression("nine(231)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4758,7 +4759,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4758,7 +4759,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// static method, one parameter of primitive type
expression=parser.parseExpression("ten(111)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertCanCompile(expression);
tc.reset();
@ -4770,10 +4771,10 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4770,10 +4771,10 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// Converting from an int to a string
expression=parser.parseExpression("seven(123)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("123");
assertCantCompile(expression);// Uncompilable as argument conversion is occurring
assertCannotCompile(expression);// Uncompilable as argument conversion is occurring
@ -4784,7 +4785,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4784,7 +4785,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4794,7 +4795,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4794,7 +4795,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4804,11 +4805,11 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4804,11 +4805,11 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
assertCantCompile(expression);// method takes a string and we are passing an Integer
assertCannotCompile(expression);// method takes a string and we are passing an Integer
}
@Test
@ -4835,7 +4836,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4835,7 +4836,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -4846,7 +4847,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4846,7 +4847,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
// method with changing parameter types (change reference type)
tc.obj="foo";
expression=parser.parseExpression("seven(obj)");
assertCantCompile(expression);
assertCannotCompile(expression);
expression.getValue(tc);
assertThat(tc.s).isEqualTo("foo");
assertCanCompile(expression);
@ -4982,35 +4983,35 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -4982,35 +4983,35 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -5631,7 +5632,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -5631,7 +5632,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@ -5860,25 +5861,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {
@@ -5860,25 +5861,7 @@ public class SpelCompilationCoverageTests extends AbstractExpressionTests {