<h2>org.autoplot.jythonsupport.StaticCodeAnalysis</h2><p>Static Code Analysis checks for bug patterns like variable writes without a read.</p>
<h2>StaticCodeAnalysis( )</h2>
<p></p>

<hr>
<a name="showReadButNotAssigned"></a>
<h2>showReadButNotAssigned</h2>
showReadButNotAssigned( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> script, boolean appContext, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> pwd ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>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.</p>

<h3>Parameters</h3>
script - the script code (not the filename).
<br>
appContext - true if application codes are loaded
<br>
pwd - null or the value of the working directory.

<h3>Returns:</h3>
a java.util.List

<br><br>
<a href="https://github.com/autoplot/dev/search?q=showReadButNotAssigned&unscoped_q=showReadButNotAssigned">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/jythonsupport/StaticCodeAnalysis.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/jythonsupport/StaticCodeAnalysis.html#showReadButNotAssigned">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/JythonSupport/src/org/autoplot/jythonsupport/StaticCodeAnalysis.java#l430">[view source]</a>
<br>
<br>
<hr>
<a name="showReassignFunctionCall"></a>
<h2>showReassignFunctionCall</h2>
showReassignFunctionCall( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> script, boolean appContext, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> pwd ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>return any name which is used as a function call but has been reassigned.</p>

<h3>Parameters</h3>
script - the script code (not the filename).
<br>
appContext - true if application codes are loaded
<br>
pwd - null or the value of the working directory.

<h3>Returns:</h3>
a java.util.List

<br><br>
<a href="https://github.com/autoplot/dev/search?q=showReassignFunctionCall&unscoped_q=showReassignFunctionCall">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/jythonsupport/StaticCodeAnalysis.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/jythonsupport/StaticCodeAnalysis.html#showReassignFunctionCall">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/JythonSupport/src/org/autoplot/jythonsupport/StaticCodeAnalysis.java#l393">[view source]</a>
<br>
<br>
<hr>
<a name="showUsage"></a>
<h2>showUsage</h2>
showUsage( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> script, <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> symbol ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>get the nodes where the symbol is used.</p>

<h3>Parameters</h3>
script - the jython script which is parsed.
<br>
symbol - the symbol to look for, a Jython name

<h3>Returns:</h3>
the AST nodes which contain location information.
<br><br>
<a href="https://github.com/autoplot/dev/search?q=showUsage&unscoped_q=showUsage">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/jythonsupport/StaticCodeAnalysis.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/jythonsupport/StaticCodeAnalysis.html#showUsage">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/JythonSupport/src/org/autoplot/jythonsupport/StaticCodeAnalysis.java#l449">[view source]</a>
<br>
<br>
<hr>
<a name="showWriteWithoutRead"></a>
<h2>showWriteWithoutRead</h2>
showWriteWithoutRead( <a href='https://docs.oracle.com/javase/8/docs/api/java/lang/String.html'>String</a> script ) &rarr; <a href='https://docs.oracle.com/javase/8/docs/api/java/util/List.html'>java.util.List</a>

<p>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.</p>

<h3>Parameters</h3>
script - the script code (not the filename).

<h3>Returns:</h3>
a java.util.List

<br><br>
<a href="https://github.com/autoplot/dev/search?q=showWriteWithoutRead&unscoped_q=showWriteWithoutRead">[search for examples]</a>
 <a href="https://github.com/autoplot/documentation/tree/master/javadoc/org/autoplot/jythonsupport/StaticCodeAnalysis.md">[view on GitHub]</a>
 <a href="http://www-pw.physics.uiowa.edu/~jbf/autoplot/javadoc2018/org/autoplot/jythonsupport/StaticCodeAnalysis.html#showWriteWithoutRead">[view on old javadoc]</a>
 <a href="https://sourceforge.net/p/autoplot/code/HEAD/tree/autoplot/trunk/JythonSupport/src/org/autoplot/jythonsupport/StaticCodeAnalysis.java#l411">[view source]</a>
<br>
<br>