File: issue252023.js

package info (click to toggle)
libnb-platform18-java 12.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 729,800 kB
  • sloc: java: 5,059,097; xml: 574,432; php: 78,788; javascript: 29,039; ansic: 10,278; sh: 6,386; cpp: 4,612; jsp: 3,643; sql: 1,097; makefile: 540; objc: 288; perl: 277; haskell: 93
file content (39 lines) | stat: -rw-r--r-- 1,266 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var value1 = 1, value2 = 2;

if( value1 = value2 ) {
    // definitelly valid warning
}
else if( value1 = getValue("condition A") ) {
    // typically valid warning ... 
}
else if( !(value1 = getValue("condition A")) ) {
    // OK: already does not complain, not sure why ...
}
else if( (value1 = getValue("condition A")) ) {
    // ... but (tentativelly) there should be 'some syntax' 
    // to let the inspector know that I indeed want to use implicit JS's
    // "value-to-boolean" convertion - probably additional brackets around 
    // expression is enough. 
    // 
    // Longer syntax that already works is below
    if( !!(value1 = getValue("condition A")) ) {
        // OK: already does not complain
    }
}
else if( (value1 = getValue("condition A")) !== null ) {
    // false positive warning - there is explicit boolean expression
}
else if( (value1 = getValue("condition B")) !== null ) {
    // false positive warning - there is explicit boolean expression
}
else if( (value1 = getValue("condition B")) !== null ) {
    // false positive warning - there is explicit boolean expression
}

//////////////////////////////////////////////////////////////////////

function getValue(condition) {
    if( condition )
        return "";
    return null;
}