com.google.dart.compiler.backend.js
Class JsFirstExpressionVisitor
java.lang.Object
com.google.dart.compiler.backend.js.ast.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 com.google.dart.compiler.backend.js.ast.JsVisitor |
accept, acceptList, acceptLvalue, acceptWithInsertRemove, visit, visit, visitBlock, visitBoolean, visitBreak, visitCase, visitCatch, visitContinue, visitDebugger, visitDefault, visitDocComment, visitDouble, visitDoWhile, visitEmpty, visitExpressionStatement, visitFor, visitForIn, visitIf, visitInt, visitLabel, visitNull, visitParameter, visitProgram, visitProgramFragment, visitPropertyInitializer, visitRegExp, visitReturn, visitString, visitThis, visitThrow, visitTry, visitVars, visitWhile |
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(JsArrayAccess x)
- Overrides:
visitArrayAccess
in class JsVisitor
visitArray
public void visitArray(JsArrayLiteral x)
- Overrides:
visitArray
in class JsVisitor
visitBinaryExpression
public void visitBinaryExpression(JsBinaryOperation x)
- Overrides:
visitBinaryExpression
in class JsVisitor
visitConditional
public void visitConditional(JsConditional x)
- Overrides:
visitConditional
in class JsVisitor
visitFunction
public void visitFunction(JsFunction x)
- Overrides:
visitFunction
in class JsVisitor
visitInvocation
public void visitInvocation(JsInvocation invocation)
- Overrides:
visitInvocation
in class JsVisitor
visitNameRef
public void visitNameRef(JsNameRef nameRef)
- Overrides:
visitNameRef
in class JsVisitor
visitNew
public void visitNew(JsNew x)
- Overrides:
visitNew
in class JsVisitor
visitObjectLiteral
public void visitObjectLiteral(JsObjectLiteral x)
- Overrides:
visitObjectLiteral
in class JsVisitor
visitPostfixOperation
public void visitPostfixOperation(JsPostfixOperation x)
- Overrides:
visitPostfixOperation
in class JsVisitor
visitPrefixOperation
public void visitPrefixOperation(JsPrefixOperation x)
- Overrides:
visitPrefixOperation
in class JsVisitor