Permalink
Browse files

solved https://luceeserver.atlassian.net/browse/LDEV-1324

  • Loading branch information...
michaeloffner committed Jun 7, 2018
1 parent 969dcc0 commit 057988f6cdcb0219823fc1a1ddb8fb258a0511c7
View
@@ -27,7 +27,11 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry combineaccessrules="false" kind="src" path="/loader"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="lib" path="/Extension-EHCache/libs/lucee.jar"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
@@ -43,6 +43,7 @@
public final Factory factory;
public final Config config;
public boolean allowLowerThan;
public boolean parseExpression;
private SimpleExprTransformer set;
@@ -54,6 +55,7 @@
public short context=TagLibTagScript.CTX_NONE;
public DocComment docComment;
private Body parent;
public ExprTransformer transformer;
@@ -79,7 +79,6 @@
import lucee.transformer.bytecode.util.ASMUtil;
import lucee.transformer.cfml.Data;
import lucee.transformer.cfml.evaluator.EvaluatorException;
import lucee.transformer.cfml.evaluator.impl.Loop;
import lucee.transformer.cfml.evaluator.impl.ProcessingDirectiveException;
import lucee.transformer.cfml.expression.AbstrCFMLExprTransformer;
import lucee.transformer.cfml.tag.CFMLTransformer;
@@ -88,7 +87,6 @@
import lucee.transformer.expression.Expression;
import lucee.transformer.expression.literal.LitBoolean;
import lucee.transformer.expression.literal.LitDouble;
import lucee.transformer.expression.literal.LitString;
import lucee.transformer.expression.var.Variable;
import lucee.transformer.library.function.FunctionLibFunction;
import lucee.transformer.library.tag.TagLib;
@@ -179,6 +177,7 @@ public TemplateException getTemplateException() {
//private static final Expression NULL = data.factory.createLitString("NULL");
//private static final Attribute ANY = new Attribute(false,"type",data.factory.createLitString("any"),"string");
private static final char NO_ATTR_SEP = 0;
public static final String TAG_ISLAND_INDICATOR = "```";
/**
* Liest saemtliche Statements des CFScriptString ein.
@@ -242,6 +241,7 @@ private boolean statement(Data data,Body parent,short context) throws TemplateEx
else if((child=returnStatement(data))!=null) parent.addStatement(child);
else if((child=switchStatement(data))!=null) parent.addStatement(child);
else if((child=tryStatement(data))!=null) parent.addStatement(child);
else if(islandStatement(data,parent)) ;
//else if(staticStatement(data,parent)) ; // do nothing, happen already inside the method
else if((child=staticStatement(data,parent))!=null) parent.addStatement(child);
else if((child=componentStatement(data,parent))!=null) parent.addStatement(child);
@@ -1897,6 +1897,20 @@ private final Return returnStatement(Data data) throws TemplateException {
return rtn;
}
private final boolean islandStatement(Data data,Body parent) throws TemplateException {
if(!data.srcCode.forwardIfCurrent(TAG_ISLAND_INDICATOR)) return false;
// now we have to jump into the tag parser
CFMLTransformer tag = new CFMLTransformer(true);
tag.transform(data,parent);
if(!data.srcCode.forwardIfCurrent(TAG_ISLAND_INDICATOR))
throw new TemplateException(data.srcCode,"missing closing tag indicator ["+TAG_ISLAND_INDICATOR+"]");
comments(data);
return true;
}
private final Statement _singleAttrStatement(Body parent, Data data, TagLibTag tlt) throws TemplateException {
Oops, something went wrong.

0 comments on commit 057988f

Please sign in to comment.