}
}
if (!lt.isVirtual()) {
FileObject fo = null;
WinkJsFile jf = null;
String ltSource;
int linesSize = -1;
try {
if (Constants.optimDontKeepJsFile) {
fo = FileManager.getFileObject(sourceName);
if ((lt.getLineEnd() == -1)) {
linesSize = fo.getLines().size();
}
} else {
jf = getJsFile(sourceName);
if ((lt.getLineEnd() == -1)) {
linesSize = jf.getLines().size();
}
}
final int lns = (lt.getLineStart() == -1) ? 1 : lt.getLineStart();
final int lne = (lt.getLineEnd() == -1) ? linesSize : lt.getLineEnd();
if (Constants.optimDontKeepJsFile) {
ltSource = fo.getLinesAsString(lns, lne);
} else {
ltSource = jf.getLinesAsString(lns, lne);
}
ParserUtils.updateLiteralLines(lt, ltSource, lns);
if (lt.getLineStart() == -1 || lt.getLineEnd() == -1) {
throw new WinkParseException("Bad literal lines [" + lt.getNamespace() + "] identified (L:" + lt.getLineStart() + ", " + lt.getLineEnd() + ")");
}
String las;
if (Constants.optimDontKeepJsFile) {
las = fo.getLinesAsString(lt.getLineStart(), lt.getLineEnd());
} else {
las = jf.getLinesAsString(lt.getLineStart(), lt.getLineEnd());
}
ParserUtils.updateLiteralChars(lt, las);
} catch (final IOException e) {
throw new WinkParseException(e);
}