JavaScript-JSLint
view release on metacpan or search on metacpan
lib/JavaScript/JSLint.pm view on Meta::CPAN
getUTCMinutes: string, getUTCMonth: string, getUTCSeconds: string,
getYear: string, global, globals, h1: object, h2: object, h3: object,
h4: object, h5: object, h6: object, handheld: boolean, hasOwnProperty: *,
head: object, header: object, height: array, hgroup: object, hr: object,
'hta:application': object, html: *, html_confusion_a: string,
html_handlers: string, i: object, id: string, identifier: boolean,
identifier_function: string, iframe: object, img: object, immed: boolean,
implied_evil: string, in, indent: number, indexOf: *, infix_in: string,
init: function, input: object, ins: object, insecure_a: string,
isAlpha: function, isArray: function boolean, isDigit: function,
isExtensible: string, isFrozen: string, isNaN: string,
isPrototypeOf: string, isSealed: string, join: *, jslint: function boolean,
json: boolean, kbd: object, keygen: object, keys: *, label: object,
label_a_b: string, labeled: boolean, lang: string, lastIndex: string,
lastIndexOf: *, lbp: number, leading_decimal_a: string, led: function,
left: array, legend: object, length: *, 'letter-spacing': array,
li: object, lib: boolean, line: number, 'line-height': array, link: object,
'list-style': array, 'list-style-image': array,
'list-style-position': array, 'list-style-type': array, map: *,
margin: array, 'margin-bottom', 'margin-left', 'margin-right',
'margin-top', mark: object, 'marker-offset': array, match: function,
lib/JavaScript/JSLint.pm view on Meta::CPAN
"Wrap the whole function invocation in parens.",
function_strict: "Use the function form of 'use strict'.",
html_confusion_a: "HTML confusion in regular expression '<{a}'.",
html_handlers: "Avoid HTML event handlers.",
identifier_function: "Expected an identifier in an assignment " +
"and instead saw a function invocation.",
implied_evil: "Implied eval is evil. Pass a function instead of a string.",
infix_in: "Unexpected 'in'. Compare with undefined, or use the " +
"hasOwnProperty method instead.",
insecure_a: "Insecure '{a}'.",
isNaN: "Use the isNaN function to compare with NaN.",
label_a_b: "Label '{a}' on '{b}' statement.",
lang: "lang is deprecated.",
leading_decimal_a: "A leading decimal point can be confused with a dot: '.{a}'.",
missing_a: "Missing '{a}'.",
missing_a_after_b: "Missing '{a}' after '{b}'.",
missing_option: "Missing option value.",
missing_property: "Missing property name.",
missing_space_a_b: "Missing space between '{a}' and '{b}'.",
missing_url: "Missing url.",
missing_use_strict: "Missing 'use strict' statement.",
lib/JavaScript/JSLint.pm view on Meta::CPAN
semicolon_coda = array_to_object([';', '"', '\'', ')'], true),
src,
stack,
// standard contains the global names that are provided by the
// ECMAScript standard.
standard = array_to_object([
'Array', 'Boolean', 'Date', 'decodeURI', 'decodeURIComponent',
'encodeURI', 'encodeURIComponent', 'Error', 'eval', 'EvalError',
'Function', 'isFinite', 'isNaN', 'JSON', 'Math', 'Number', 'Object',
'parseInt', 'parseFloat', 'RangeError', 'ReferenceError', 'RegExp',
'String', 'SyntaxError', 'TypeError', 'URIError'
], false),
standard_property_type = {
E : 'number',
LN2 : 'number',
LN10 : 'number',
LOG2E : 'number',
LOG10E : 'number',
lib/JavaScript/JSLint.pm view on Meta::CPAN
switch (node.id) {
case '[':
case '-':
if (node.arity !== 'infix') {
warn(message || bundle.weird_condition, node);
}
break;
case 'false':
case 'function':
case 'Infinity':
case 'NaN':
case 'null':
case 'true':
case 'undefined':
case 'void':
case '(number)':
case '(regexp)':
case '(string)':
case '{':
warn(message || bundle.weird_condition, node);
break;
lib/JavaScript/JSLint.pm view on Meta::CPAN
case '!':
warn('confusing_a', node);
break;
}
break;
case 'function':
case 'regexp':
warn('unexpected_a', node);
break;
default:
if (node.id === 'NaN') {
warn('isnan', node);
}
}
return node;
}
function relation(s, eqeq) {
return infix(s, 100, function (left, that) {
check_relation(left);
lib/JavaScript/JSLint.pm view on Meta::CPAN
warn('adsafe_a', x);
}
});
reservevar('eval', function (x) {
if (option.safe) {
warn('adsafe_a', x);
}
});
constant('false', 'boolean');
constant('Infinity', 'number');
constant('NaN', 'number');
constant('null', '');
reservevar('this', function (x) {
if (option.safe) {
warn('adsafe_a', x);
} else if (strict_mode && funct['(token)'].arity === 'statement' &&
funct['(name)'].charAt(0) > 'Z') {
warn('strict', x);
}
});
constant('true', 'boolean');
lib/JavaScript/JSLint.pm view on Meta::CPAN
the_case.arity = 'case';
spaces();
edge('case');
advance('case');
for (;;) {
one_space();
particular = expression(0);
cases.forEach(find_duplicate_case);
cases.push(particular);
the_case.first.push(particular);
if (particular.id === 'NaN') {
warn('unexpected_a', particular);
}
no_space_only();
advance(':');
if (next_token.id !== 'case') {
break;
}
spaces();
edge('case');
advance('case');
( run in 0.247 second using v1.01-cache-2.11-cpan-4d50c553e7e )