SPR-7100: '_' supported as first char of identifier
git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@3254 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
parent
7c04f12f73
commit
efc8a513d1
|
|
@ -57,6 +57,9 @@ class Tokenizer {
|
|||
case '+':
|
||||
pushCharToken(TokenKind.PLUS);
|
||||
break;
|
||||
case '_': // the other way to start an identifier
|
||||
lexIdentifier();
|
||||
break;
|
||||
case '-':
|
||||
pushCharToken(TokenKind.MINUS);
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -222,6 +222,12 @@ public class EvaluationTests extends ExpressionTestCase {
|
|||
evaluateAndCheckError("madeup", SpelMessage.PROPERTY_OR_FIELD_NOT_READABLE, 0, "madeup",
|
||||
"org.springframework.expression.spel.testresources.Inventor");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPropertyField02_SPR7100() {
|
||||
evaluate("_name", "Nikola Tesla", String.class);
|
||||
evaluate("_name_", "Nikola Tesla", String.class);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRogueTrailingDotCausesNPE_SPR6866() {
|
||||
|
|
@ -408,6 +414,7 @@ public class EvaluationTests extends ExpressionTestCase {
|
|||
evaluate("'christian'[8]", "n", String.class);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
public void testIndexerError() {
|
||||
evaluateAndCheckError("new org.springframework.expression.spel.testresources.Inventor().inventions[1]",SpelMessage.CANNOT_INDEX_INTO_NULL_VALUE);
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import java.util.Map;
|
|||
@SuppressWarnings("unused")
|
||||
public class Inventor {
|
||||
private String name;
|
||||
public String _name;
|
||||
public String _name_;
|
||||
public String publicName;
|
||||
private PlaceOfBirth placeOfBirth;
|
||||
private Date birthdate;
|
||||
|
|
@ -36,6 +38,8 @@ public class Inventor {
|
|||
|
||||
public Inventor(String name, Date birthdate, String nationality) {
|
||||
this.name = name;
|
||||
this._name = name;
|
||||
this._name_ = name;
|
||||
this.birthdate = birthdate;
|
||||
this.nationality = nationality;
|
||||
this.arrayContainer = new ArrayContainer();
|
||||
|
|
|
|||
Loading…
Reference in New Issue