com.google.dart.compiler.backend.js
Class JsFirstExpressionVisitor
java.lang.Object
JsVisitor
com.google.dart.compiler.backend.js.ast.RecursiveJsVisitor
com.google.dart.compiler.backend.js.JsFirstExpressionVisitor
public class JsFirstExpressionVisitor
- extends RecursiveJsVisitor
Determines if an expression statement needs to be surrounded by parentheses.
The statement or the left-most expression needs to be surrounded by
parentheses if the left-most expression is an object literal or a function
object. Function declarations do not need parentheses.
For example the following require parentheses:
- { key : 'value'}
- { key : 'value'}.key
- function () {return 1;}()
- function () {return 1;}.prototype
The following do not require parentheses:
- var x = { key : 'value'}
- "string" + { key : 'value'}.key
- function func() {}
- function() {}
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
exec
public static boolean exec(JsExpressionStatement statement)
visitArrayAccess
public void visitArrayAccess(@NotNull
JsArrayAccess x)
visitArray
public void visitArray(@NotNull
JsArrayLiteral x)
visitBinaryExpression
public void visitBinaryExpression(@NotNull
JsBinaryOperation x)
visitConditional
public void visitConditional(@NotNull
JsConditional x)
visitFunction
public void visitFunction(@NotNull
JsFunction x)
visitInvocation
public void visitInvocation(@NotNull
JsInvocation invocation)
visitNameRef
public void visitNameRef(@NotNull
JsNameRef nameRef)
visitNew
public void visitNew(@NotNull
JsNew x)
visitObjectLiteral
public void visitObjectLiteral(@NotNull
JsObjectLiteral x)
visitPostfixOperation
public void visitPostfixOperation(@NotNull
JsPostfixOperation x)
visitPrefixOperation
public void visitPrefixOperation(@NotNull
JsPrefixOperation x)