// aber nicht in der Logik sondern rein wie es umgesetzt wurde.
// get First Element of the Variable
Position line = data.cfml.getPosition();
Identifier id = identifier(data,false,true);
if(id == null) {
if (!data.cfml.forwardIfCurrent('(')) return null;
comments(data);
Expression expr = assignOp(data);
if (!data.cfml.forwardIfCurrent(')'))
throw new TemplateException(
data.cfml,
"Invalid Syntax Closing [)] not found");
comments(data);
return expr;//subDynamic(expr);
}
Variable var;
comments(data);
// Boolean constant
if(id.getString().equalsIgnoreCase("TRUE")) {// || name.equals("YES")) {
comments(data);
return new LitBoolean(true,line,data.cfml.getPosition());
}
else if(id.getString().equalsIgnoreCase("FALSE")) {// || name.equals("NO")) {
comments(data);
return new LitBoolean(false,line,data.cfml.getPosition());
}
else if(NullSupportHelper.full() && id.getString().equalsIgnoreCase("NULL")) {
comments(data);
return new Null(line,data.cfml.getPosition());
}
// Extract Scope from the Variable
//int c=data.cfml.getColumn();
Position l=data.cfml.getPosition();
var = startElement(data,id,line);
var.setStart(l);
var.setEnd(data.cfml.getPosition());
return var;
}