## org.autoplot.jythonsupport.StaticCodeAnalysis

Static Code Analysis checks for bug patterns like variable writes without a read.

## StaticCodeAnalysis( )

## showReadButNotAssigned

showReadButNotAssigned( String script, boolean appContext, String pwd ) → java.util.List

return any node where a name is read but has not been assigned. This is an error which would show when the code is run.

### Parameters

script - the script code (not the filename).
appContext - true if application codes are loaded
pwd - null or the value of the working directory.

### Returns:

a java.util.List
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## showReassignFunctionCall

showReassignFunctionCall( String script, boolean appContext, String pwd ) → java.util.List

return any name which is used as a function call but has been reassigned.

### Parameters

script - the script code (not the filename).
appContext - true if application codes are loaded
pwd - null or the value of the working directory.

### Returns:

a java.util.List
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## showUsage

showUsage( String script, String symbol ) → java.util.List

get the nodes where the symbol is used.

### Parameters

script - the jython script which is parsed.
symbol - the symbol to look for, a Jython name

### Returns:

the AST nodes which contain location information.
[search for examples] [view on GitHub] [view on old javadoc] [view source]

## showWriteWithoutRead

showWriteWithoutRead( String script ) → java.util.List

return any node where a variable is assigned but then not later read. This is not an error, but is a nice way to flag suspicious code.

### Parameters

script - the script code (not the filename).

### Returns:

a java.util.List
[search for examples] [view on GitHub] [view on old javadoc] [view source]