Consistent resolution of Class methods and static methods
Issue: SPR-12502
(cherry picked from commit 9ef0bdc)
This commit is contained in:
@@ -1835,6 +1835,14 @@ public class SpelReproTests extends ExpressionTestCase {
|
||||
assertEquals(1, exp.getValue(sec));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void SPR12502() throws Exception {
|
||||
SpelExpressionParser parser = new SpelExpressionParser();
|
||||
Expression expression = parser.parseExpression("#root.getClass().getName()");
|
||||
assertEquals(UnnamedUser.class.getName(), expression.getValue(new UnnamedUser()));
|
||||
assertEquals(NamedUser.class.getName(), expression.getValue(new NamedUser()));
|
||||
}
|
||||
|
||||
|
||||
private static enum ABC { A, B, C }
|
||||
|
||||
@@ -1976,4 +1984,16 @@ public class SpelReproTests extends ExpressionTestCase {
|
||||
public static final int X = 1;
|
||||
}
|
||||
|
||||
|
||||
public static class UnnamedUser {
|
||||
}
|
||||
|
||||
|
||||
public static class NamedUser {
|
||||
|
||||
public String getName() {
|
||||
return "foo";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user