Skip to content
This repository was archived by the owner on May 26, 2023. It is now read-only.
This repository was archived by the owner on May 26, 2023. It is now read-only.

Add rule: no boolean type coersion #97

@cdthompson

Description

@cdthompson

boolean type coersion is inconsistent. A rule to detect this would be helpful.

Motivation:

Brightscript Debugger> a = invalid

Brightscript Debugger> if a: print "hi": end if
Type Mismatch. (runtime error &h18) in $LIVECOMPILE(8)

Brightscript Debugger> a = "true"

Brightscript Debugger> if a: print "hi": end if
Type Mismatch. (runtime error &h18) in $LIVECOMPILE(10)

Brightscript Debugger> a = true

Brightscript Debugger> if a: print "hi": end if
hi

Brightscript Debugger> a = 1

Brightscript Debugger> if a: print "hi": end if
hi

Improved style allows for invalid without crashes (though string vs. boolean still crashes)

Brightscript Debugger> a = invalid

Brightscript Debugger> if a = true: print "hi": end if

Brightscript Debugger> a = "true"

Brightscript Debugger> if a = true: print "hi": end if
Type Mismatch. (runtime error &h18) in $LIVECOMPILE(18)

Brightscript Debugger> a = 1

Brightscript Debugger> if a = true: print "hi": end if
hi

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions