Warning: session_start(): open(/var/lib/php/sessions/sess_ibosm8sa1ugo1s6bdjukap3f2r, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
please include function testBracketHygiene.
static Pair testBracketHygiene2(S s) {
ret testBracketHygiene2(s, testBracketHygiene_op, testBracketHygiene_close);
}
static Pair testBracketHygiene2(S s, S op, S close) {
L tok = javaTok(s);
new Map map;
L stack = getBracketMap2(tok, map, op, close);
for (int i = 1; i < l(tok); i += 2)
if (isUnproperlyQuoted(tok.get(i))) {
int lineNr = tokenIndexToUserLandLineNr(tok, i);
ret pair(tokenToCharIndex(tok, i), "Unclosed string literal at line " + lineNr);
}
for (int i : keys(map)) {
int j = map.get(i);
S a = tok.get(i), b = tok.get(j);
int ai = op.indexOf(a), bi = close.indexOf(b);
if (ai != bi) {
int lineNr1 = tokenIndexToUserLandLineNr(tok, ai);
int lineNr2 = tokenIndexToUserLandLineNr(tok, bi);
ret pair(tokenToCharIndex(tok, tossCoin() ? i : j),
"Bad hygiene - brackets don't match (" + quote(a) + " vs " + quote(b) + ") at lines " + lineNr1 + " and " + lineNr2);
}
}
if (nempty(stack)) {
int lineNr = tokenIndexToUserLandLineNr(tok, last(stack));
ret pair(charIndex, "Line " + lineNr + ": "
+ "Bad hygiene - " + n(l(stack), "bracket") + " not closed");
}
if (map.containsKey(0)) {
int lineNr = tokenIndexToUserLandLineNr(tok, map.get(0));
ret pair(tokenToCharIndex(tok, map.get(0)),
"Bad hygiene - bracket not opened (" + quote(tok.get(map.get(0))) + ") at line " + lineNr);
}
null;
}