date literal removed
This commit is contained in:
parent
8740b702f9
commit
efee3b3434
|
|
@ -1,79 +0,0 @@
|
|||
/*
|
||||
* Copyright 2004-2008 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.expression.spel.ast;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.antlr.runtime.Token;
|
||||
import org.springframework.expression.EvaluationException;
|
||||
import org.springframework.expression.spel.ExpressionState;
|
||||
import org.springframework.expression.spel.SpelException;
|
||||
import org.springframework.expression.spel.SpelMessages;
|
||||
|
||||
/**
|
||||
* Represents a date literal value in an expression (a java.util.Date object).
|
||||
*
|
||||
* @author Andy Clement
|
||||
*
|
||||
*/
|
||||
public class DateLiteral extends SpelNode {
|
||||
|
||||
private DateFormat formatter = null;
|
||||
private Date formattedDate = null;
|
||||
|
||||
public DateLiteral(Token payload) {
|
||||
super(payload);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Date getValue(ExpressionState state) throws EvaluationException {
|
||||
if (formatter == null) {
|
||||
if (getChildCount() > 1) {
|
||||
formatter = new SimpleDateFormat((String) getChild(1).getValue(state));
|
||||
} else {
|
||||
// http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html
|
||||
// this is something of this format: "Wed, 4 Jul 2001 12:08:56 GMT"
|
||||
formatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.UK);
|
||||
}
|
||||
}
|
||||
String valueToParse = (String) getChild(0).getValue(state);
|
||||
try {
|
||||
formattedDate = formatter.parse(valueToParse);
|
||||
} catch (ParseException e) {
|
||||
throw new SpelException(getCharPositionInLine(), e, SpelMessages.DATE_CANNOT_BE_PARSED, valueToParse,
|
||||
(formatter instanceof SimpleDateFormat ? ((SimpleDateFormat) formatter).toLocalizedPattern()
|
||||
: formatter));
|
||||
}
|
||||
return formattedDate;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toStringAST() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("date(");
|
||||
sb.append(getChild(0).toStringAST());
|
||||
if (getChildCount() > 1) {
|
||||
sb.append(",").append(getChild(1).toStringAST());
|
||||
}
|
||||
sb.append(")");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -18,7 +18,6 @@ tokens {
|
|||
INDEXER;
|
||||
ARGLIST;
|
||||
CONSTRUCTOR;
|
||||
DATE_LITERAL;
|
||||
HOLDER;
|
||||
CONSTRUCTOR_ARRAY;
|
||||
NAMED_ARGUMENT;
|
||||
|
|
@ -252,13 +251,10 @@ literal
|
|||
| NULL_LITERAL
|
||||
| HEXADECIMAL_INTEGER_LITERAL
|
||||
| REAL_LITERAL
|
||||
| dateLiteral
|
||||
;
|
||||
|
||||
boolLiteral: TRUE | FALSE;
|
||||
|
||||
dateLiteral: 'date' LPAREN d=STRING_LITERAL (COMMA f=STRING_LITERAL)? RPAREN -> ^(DATE_LITERAL $d ($f)?);
|
||||
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
|
|
@ -327,27 +323,12 @@ STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
|||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
DOT_ESCAPED: '\\.';
|
||||
//DOUBLE_DOT: ':';
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
DOLLAR: '$';
|
||||
AT: '@';
|
||||
UPTO: '..';
|
||||
COLON: ':';
|
||||
|
||||
/*
|
||||
// real - use syntactic predicates (guess mode)
|
||||
: ('.' DECIMAL_DIGIT) =>
|
||||
in= '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ '.' DECIMAL_DIGIT) =>
|
||||
in=(DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ (EXPONENT_PART)) =>
|
||||
in= (DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX)) =>
|
||||
in= (DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX)
|
||||
*/
|
||||
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
|
|
@ -362,5 +343,4 @@ fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'
|
|||
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
fragment SIGN : '+' | '-' ;
|
||||
// TODO what is M or m?
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd' | 'M' | 'm' ;
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
|
|
|
|||
|
|
@ -1,89 +1,87 @@
|
|||
GREATER_THAN_OR_EQUAL=78
|
||||
SELECT_FIRST=57
|
||||
COMMA=50
|
||||
HOLDER=14
|
||||
GREATER_THAN=77
|
||||
TYPE=59
|
||||
GREATER_THAN_OR_EQUAL=77
|
||||
SELECT_FIRST=56
|
||||
COMMA=49
|
||||
HOLDER=13
|
||||
GREATER_THAN=76
|
||||
TYPE=58
|
||||
EXPRESSIONLIST=4
|
||||
MINUS=40
|
||||
MAP_ENTRY=25
|
||||
SELECT_LAST=58
|
||||
NUMBER=29
|
||||
LESS_THAN=75
|
||||
BANG=45
|
||||
MINUS=39
|
||||
MAP_ENTRY=24
|
||||
SELECT_LAST=57
|
||||
NUMBER=28
|
||||
LESS_THAN=74
|
||||
BANG=44
|
||||
ARGLIST=11
|
||||
FALSE=69
|
||||
METHOD=26
|
||||
FALSE=68
|
||||
METHOD=25
|
||||
PROPERTY_OR_FIELD=9
|
||||
LBRACKET=52
|
||||
LBRACKET=51
|
||||
INDEXER=10
|
||||
MOD=43
|
||||
CONSTRUCTOR_ARRAY=15
|
||||
FUNCTIONREF=17
|
||||
NULL_LITERAL=65
|
||||
NAMED_ARGUMENT=16
|
||||
OR=37
|
||||
PIPE=61
|
||||
DOT=46
|
||||
RCURLY=55
|
||||
MOD=42
|
||||
CONSTRUCTOR_ARRAY=14
|
||||
FUNCTIONREF=16
|
||||
NULL_LITERAL=64
|
||||
NAMED_ARGUMENT=15
|
||||
OR=36
|
||||
PIPE=60
|
||||
DOT=45
|
||||
RCURLY=54
|
||||
EXPRESSION=6
|
||||
AND=38
|
||||
LCURLY=62
|
||||
DATE_LITERAL=13
|
||||
REAL_TYPE_SUFFIX=89
|
||||
STRING_LITERAL=63
|
||||
SELECT=56
|
||||
AND=37
|
||||
LCURLY=61
|
||||
REAL_TYPE_SUFFIX=88
|
||||
STRING_LITERAL=62
|
||||
SELECT=55
|
||||
QUALIFIED_IDENTIFIER=7
|
||||
RBRACKET=53
|
||||
SUBTRACT=28
|
||||
ASSIGN=31
|
||||
BETWEEN=81
|
||||
RPAREN=36
|
||||
SIGN=90
|
||||
LPAREN=35
|
||||
HEX_DIGIT=72
|
||||
PLUS=39
|
||||
LIST_INITIALIZER=21
|
||||
APOS=84
|
||||
RBRACKET=52
|
||||
SUBTRACT=27
|
||||
ASSIGN=30
|
||||
BETWEEN=80
|
||||
RPAREN=35
|
||||
SIGN=89
|
||||
LPAREN=34
|
||||
HEX_DIGIT=71
|
||||
PLUS=38
|
||||
LIST_INITIALIZER=20
|
||||
APOS=83
|
||||
INTEGER_LITERAL=5
|
||||
AT=51
|
||||
ID=48
|
||||
NOT_EQUAL=74
|
||||
RANGE=19
|
||||
POWER=44
|
||||
TYPEREF=18
|
||||
DECIMAL_DIGIT=70
|
||||
WS=86
|
||||
IS=80
|
||||
DOLLAR=49
|
||||
LESS_THAN_OR_EQUAL=76
|
||||
SEMIRPAREN=30
|
||||
DQ_STRING_LITERAL=64
|
||||
HEXADECIMAL_INTEGER_LITERAL=66
|
||||
MAP_INITIALIZER=22
|
||||
LAMBDA=60
|
||||
LOCALFUNC=24
|
||||
IN=79
|
||||
SEMI=83
|
||||
AT=50
|
||||
ID=47
|
||||
NOT_EQUAL=73
|
||||
RANGE=18
|
||||
POWER=43
|
||||
TYPEREF=17
|
||||
DECIMAL_DIGIT=69
|
||||
WS=85
|
||||
IS=79
|
||||
DOLLAR=48
|
||||
LESS_THAN_OR_EQUAL=75
|
||||
SEMIRPAREN=29
|
||||
DQ_STRING_LITERAL=63
|
||||
HEXADECIMAL_INTEGER_LITERAL=65
|
||||
MAP_INITIALIZER=21
|
||||
LAMBDA=59
|
||||
LOCALFUNC=23
|
||||
IN=78
|
||||
SEMI=82
|
||||
CONSTRUCTOR=12
|
||||
INTEGER_TYPE_SUFFIX=71
|
||||
EQUAL=73
|
||||
MATCHES=82
|
||||
DOT_ESCAPED=85
|
||||
UPTO=87
|
||||
QMARK=33
|
||||
INTEGER_TYPE_SUFFIX=70
|
||||
EQUAL=72
|
||||
MATCHES=81
|
||||
DOT_ESCAPED=84
|
||||
UPTO=86
|
||||
QMARK=32
|
||||
REFERENCE=8
|
||||
PROJECT=54
|
||||
DEFAULT=32
|
||||
COLON=34
|
||||
DIV=42
|
||||
LOCALVAR=23
|
||||
STAR=41
|
||||
REAL_LITERAL=67
|
||||
VARIABLEREF=20
|
||||
EXPONENT_PART=88
|
||||
TRUE=68
|
||||
ADD=27
|
||||
POUND=47
|
||||
'date'=92
|
||||
'new'=91
|
||||
PROJECT=53
|
||||
DEFAULT=31
|
||||
COLON=33
|
||||
DIV=41
|
||||
LOCALVAR=22
|
||||
STAR=40
|
||||
REAL_LITERAL=66
|
||||
VARIABLEREF=19
|
||||
EXPONENT_PART=87
|
||||
TRUE=67
|
||||
ADD=26
|
||||
POUND=46
|
||||
'new'=90
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -5,162 +5,145 @@ options {
|
|||
}
|
||||
@header {package org.springframework.expression.spel.generated;}
|
||||
|
||||
T91 : 'new' ;
|
||||
T92 : 'date' ;
|
||||
T90 : 'new' ;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 63
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 62
|
||||
SEMIRPAREN : ';)'; // recoveryrelated: allows us to cope with a rogue superfluous semicolon before the rparen in an expression list
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 262
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 258
|
||||
INTEGER_LITERAL
|
||||
: (DECIMAL_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 265
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 261
|
||||
HEXADECIMAL_INTEGER_LITERAL : ('0x' | '0X') (HEX_DIGIT)+ (INTEGER_TYPE_SUFFIX)?;
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 280
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 276
|
||||
ASSIGN: '=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 281
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 277
|
||||
EQUAL: '==';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 282
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 278
|
||||
NOT_EQUAL: '!=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 283
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 279
|
||||
LESS_THAN: '<';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 284
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 280
|
||||
LESS_THAN_OR_EQUAL: '<=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 285
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 281
|
||||
GREATER_THAN: '>';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 286
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 282
|
||||
GREATER_THAN_OR_EQUAL: '>=';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 287
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 283
|
||||
IN: 'in';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 288
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 284
|
||||
IS: 'is';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 289
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 285
|
||||
BETWEEN:'between';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 290
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 286
|
||||
MATCHES:'matches';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 291
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 287
|
||||
NULL_LITERAL: 'null';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 293
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 289
|
||||
SEMI: ';';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 294
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 290
|
||||
DOT: '.';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 295
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 291
|
||||
COMMA: ',';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 296
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 292
|
||||
LPAREN: '(';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 297
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 293
|
||||
RPAREN: ')';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 298
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 294
|
||||
LCURLY: '{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 299
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 295
|
||||
RCURLY: '}';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 300
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 296
|
||||
LBRACKET: '[';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 301
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 297
|
||||
RBRACKET: ']';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 302
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 298
|
||||
PIPE: '|';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 304
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 300
|
||||
AND: 'and';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 305
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 301
|
||||
OR: 'or';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 306
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 302
|
||||
FALSE: 'false';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 307
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 303
|
||||
TRUE: 'true';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 309
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 305
|
||||
PLUS: '+';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 310
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 306
|
||||
MINUS: '-';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 311
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 307
|
||||
DIV: '/';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 312
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 308
|
||||
STAR: '*';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 313
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 309
|
||||
MOD: '%';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 314
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 310
|
||||
POWER: '^';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 315
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 311
|
||||
BANG: '!';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 316
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 312
|
||||
POUND: '#';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 317
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 313
|
||||
QMARK: '?';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 318
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 314
|
||||
DEFAULT: '??';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 319
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 315
|
||||
LAMBDA: '{|';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 320
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 316
|
||||
PROJECT: '!{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 321
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 317
|
||||
SELECT: '?{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 322
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 318
|
||||
SELECT_FIRST: '^{';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 323
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 319
|
||||
SELECT_LAST: '${';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 324
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 320
|
||||
TYPE: 'T(';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 326
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 322
|
||||
STRING_LITERAL: '\''! (APOS|~'\'')* '\''!;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 327
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 323
|
||||
DQ_STRING_LITERAL: '"'! (~'"')* '"'!;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 328
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 324
|
||||
ID: ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|DOT_ESCAPED)*;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 329
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 325
|
||||
DOT_ESCAPED: '\\.';
|
||||
//DOUBLE_DOT: ':';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 331
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 326
|
||||
WS: ( ' ' | '\t' | '\n' |'\r')+ { $channel=HIDDEN; } ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 332
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 327
|
||||
DOLLAR: '$';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 333
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 328
|
||||
AT: '@';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 334
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 329
|
||||
UPTO: '..';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 335
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 330
|
||||
COLON: ':';
|
||||
|
||||
/*
|
||||
// real - use syntactic predicates (guess mode)
|
||||
: ('.' DECIMAL_DIGIT) =>
|
||||
in= '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ '.' DECIMAL_DIGIT) =>
|
||||
in=(DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ (EXPONENT_PART)) =>
|
||||
in= (DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?
|
||||
|
||||
| ((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX)) =>
|
||||
in= (DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX)
|
||||
*/
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 352
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 333
|
||||
REAL_LITERAL :
|
||||
('.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ '.' (DECIMAL_DIGIT)+ (EXPONENT_PART)? (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (EXPONENT_PART) (REAL_TYPE_SUFFIX)?) |
|
||||
((DECIMAL_DIGIT)+ (REAL_TYPE_SUFFIX));
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 358
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 339
|
||||
fragment APOS : '\''! '\'';
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 359
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 340
|
||||
fragment DECIMAL_DIGIT : '0'..'9' ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 360
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 341
|
||||
fragment INTEGER_TYPE_SUFFIX : ( 'L' | 'l' );
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 361
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 342
|
||||
fragment HEX_DIGIT : '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'|'A'|'B'|'C'|'D'|'E'|'F'|'a'|'b'|'c'|'d'|'e'|'f';
|
||||
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 363
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 344
|
||||
fragment EXPONENT_PART : 'e' (SIGN)* (DECIMAL_DIGIT)+ | 'E' (SIGN)* (DECIMAL_DIGIT)+ ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 364
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 345
|
||||
fragment SIGN : '+' | '-' ;
|
||||
// TODO what is M or m?
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 366
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd' | 'M' | 'm' ;
|
||||
// $ANTLR src "/Users/aclement/el2/spring-framework/trunk/org.springframework.expression/src/main/java/org/springframework/expression/spel/generated/SpringExpressions.g" 346
|
||||
fragment REAL_TYPE_SUFFIX : 'F' | 'f' | 'D' | 'd';
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ import org.springframework.expression.spel.ast.Assign;
|
|||
import org.springframework.expression.spel.ast.BooleanLiteral;
|
||||
import org.springframework.expression.spel.ast.CompoundExpression;
|
||||
import org.springframework.expression.spel.ast.ConstructorReference;
|
||||
import org.springframework.expression.spel.ast.DateLiteral;
|
||||
import org.springframework.expression.spel.ast.Dot;
|
||||
import org.springframework.expression.spel.ast.ExpressionListNode;
|
||||
import org.springframework.expression.spel.ast.FunctionReference;
|
||||
|
|
@ -123,8 +122,6 @@ public class SpelTreeAdaptor extends CommonTreeAdaptor {
|
|||
return new StringLiteral(payload);
|
||||
case SpringExpressionsLexer.NULL_LITERAL:
|
||||
return new NullLiteral(payload);
|
||||
case SpringExpressionsLexer.DATE_LITERAL:
|
||||
return new DateLiteral(payload);
|
||||
|
||||
case SpringExpressionsLexer.ID:
|
||||
return new Identifier(payload);
|
||||
|
|
|
|||
|
|
@ -129,34 +129,6 @@ public class LiteralTests extends ExpressionTestCase {
|
|||
evaluate("null", null, null);
|
||||
}
|
||||
|
||||
public void testLiteralDate01() {
|
||||
evaluate("date('Wed, 4 Jul 2001 12:08:56 GMT').getTime()>0", "true", Boolean.class);
|
||||
}
|
||||
|
||||
public void testLiteralDate02() {
|
||||
evaluate("date('19740824131030','yyyyMMddHHmmss').getHours()", "13", Integer.class);
|
||||
}
|
||||
|
||||
public void testLiteralDate03() {
|
||||
// Jal is not a valid month
|
||||
evaluateAndCheckError("date('Wed, 4 Jal 2001 12:08:56 GMT').getTime()>0", SpelMessages.DATE_CANNOT_BE_PARSED);
|
||||
}
|
||||
|
||||
public void testLiteralDate04() {
|
||||
// null format
|
||||
parseAndCheckError("date('Wed, 4 Jul 2001 12:08:56 GMT',null).getTime()>0", SpelMessages.PARSE_PROBLEM);
|
||||
}
|
||||
|
||||
public void testLiteralDate05() {
|
||||
// null date
|
||||
parseAndCheckError("date(null).getTime()>0", SpelMessages.PARSE_PROBLEM);
|
||||
}
|
||||
|
||||
public void testLiteralDate06() {
|
||||
// int year convertable from number to string
|
||||
parseAndCheckError("date(2008,'yyyy').getTime()>0", SpelMessages.PARSE_PROBLEM);
|
||||
}
|
||||
|
||||
public void testConversions() {
|
||||
// getting the expression type to be what we want - either:
|
||||
evaluate("new Integer(37).byteValue()", (byte) 37, Byte.class); // calling byteValue() on Integer.class
|
||||
|
|
|
|||
Loading…
Reference in New Issue