Most implementations of JavaScript are loosely based on a core script standard called ECMA. Beyond the
standard there is a common set of non-standard language constructs supported by most implementations and
other functions/constructs that are only supported by a subset of the JavaScript implementations.
Quite a few public JavaScript toolkits as well as the general popular usage of JavaScript exploit many of these
non-standard language aspects making a pure modeling of the language difficult (if not impossible). Our solution
is a complex inference engine that analyzes your JavaScript to help build an accurate model. Unfortunately the
inference isn't always perfect. For these reasons some JavaScript class inferences may be imperfect and mark
fields/methods/types as an error that really aren't. Of course we are working on this and plan to work with
more edge cases as we progress.