|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.javascript.jscomp.StatementFusion
public class StatementFusion
Tries to fuse all the statements in a block into a one statement by using
COMMAs.
Because COMMAs has the lowest precedence, we never need to insert
extra () around. Once we have only one statement in a block, we can then
eliminate a pair of {}'s. Further more, we can also fold a single
statement IF into && or create further opportunities for all the other
goodies in PeepholeSubstituteAlternateSyntax
.
Constructor Summary | |
---|---|
StatementFusion()
|
Method Summary | |
---|---|
protected boolean |
areNodesEqualForInlining(Node n1,
Node n2)
Are the nodes equal for the purpose of inlining? If type aware optimizations are on, type equality is checked. |
protected void |
error(DiagnosticType diagnostic,
Node n)
Helper method for reporting an error to the compiler when applying a peephole optimization. |
protected boolean |
isASTNormalized()
Is the current AST normalized? (e.g. |
protected void |
reportCodeChange()
Helper method for telling the compiler that something has changed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public StatementFusion()
Method Detail |
---|
protected void error(DiagnosticType diagnostic, Node n)
diagnostic
- The error typen
- The node for which the error should be reportedprotected void reportCodeChange()
protected boolean areNodesEqualForInlining(Node n1, Node n2)
protected boolean isASTNormalized()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |