return Token.EMPTY_TOKEN;
} else {
return new Token.StringToken(s, ctx());
}
} else {
CodeToken ct = new CodeToken(s, ctx());
String bhCls = bh.getClass().getName();
if (bhCls.contains("For")) {
ctx.getCodeBuilder().removeSpaceTillLastLineBreak(ctx);
ct.removeNextLineBreak = true;
} else if (bhCls.contains("Assign")) {
remain = ctx.getRemain();
Matcher m = Pattern.compile("(^[ \\t\\x0B\\f]*\\n).*", Pattern.DOTALL).matcher(remain);
if (m.matches()) {
String space = m.group(1);
step(space.length());
}
} else {
ctx.getCodeBuilder().removeSpaceToLastLineBreak(ctx);
}
if (S.isEmpty(s)) {
return Token.EMPTY_TOKEN;
} else {
return ct;
}
}
} else if (null != bh && !isLiteral) {
Matcher m = P.matcher(remain);
if (m.matches()) {
CodeBuilder cb = ctx.getCodeBuilder();
String bhCls = bh.getClass().getName();
String s = m.group(2);
if (bhCls.contains("For")) {
cb.addBuilder(new Token.StringToken("\n", ctx));
cb.removeNextLF = true;
} else if (bhCls.contains("Assign") || bhCls.contains("DefTag")) {
if (m.group(1).endsWith("\n")) {
cb.removeNextLF = true;
}
}
ctx.step(s.length());
CodeToken ct = new CodeToken(ctx.closeBlock(), ctx);
return ct;
}
}
}
return null;