|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.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 | ||||||||