
com.google.javascript.jscomp.ExpressionDecomposer.class Maven / Gradle / Ivy
The newest version!
???? 3
?!
"
#$%&
'
(
\)
*
+
,
-
.
/0
1
2
\3
45
67
\8
49
\:
;
4<=
%> %? %@
\A
B
\C DE
F
4G DH
\I
J DK
\L
M
NO
P
Q DR
S
\T
U
4V
W
X
\Y
6Z
\[ ?\
D]
^
4_
\`a
\b
6c
6d
\e
\f
\g
h
6i
\j
\k
4l
\mno
4p
\q
\rstuvuwx
\y
z
{
4|
\}
\~
\
\?
\?
\?
\? ?
6?
6?
6?
\?
\?
\???????n?
\?
\?
?t
4??
? ?? ??
?
4??? InnerClasses DecompositionState? DecompositionType compiler /Lcom/google/javascript/jscomp/AbstractCompiler; safeNameIdSupplier !Lcom/google/common/base/Supplier; Signature 5Lcom/google/common/base/Supplier; knownConstants Ljava/util/Set; #Ljava/util/Set; scope $Lcom/google/javascript/jscomp/Scope; MAX_ITERATIONS I
ConstantValue d tempNamePrefix Ljava/lang/String; resultNamePrefix ?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/common/base/Supplier;Ljava/util/Set;Lcom/google/javascript/jscomp/Scope;)V Code LineNumberTable LocalVariableTable this 3Lcom/google/javascript/jscomp/ExpressionDecomposer;
constNames LocalVariableTypeTable ?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/common/base/Supplier;Ljava/util/Set;Lcom/google/javascript/jscomp/Scope;)V maybeExposeExpression %(Lcom/google/javascript/rhino/Node;)V
expression "Lcom/google/javascript/rhino/Node; i
StackMapTable exposeExpression expressionRootx moveExpression
resultName injectionPoint injectionPointParent expressionParent newExpressionRoot G(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V left type #Lcom/google/javascript/rhino/Token; replacement functionExpression
parentType
grandchild child parent
needResult Z
subExpression nonconditionalExpr hasFollowingSideEffects exprInjectionPoint state FLcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionState;$=? allowObjectCallDecomposing ()Z maybeExternMethod %(Lcom/google/javascript/rhino/Node;)Z node findNonconditionalParent h(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; result decomposeObjectLiteralKeys ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionState;)V key stopNode decomposeSubExpressions n extractConditional i(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Z)Lcom/google/javascript/rhino/Node; ifNode tempVarNode replacementValueNode grandparent expr tempName first second last cond trueExpr falseExpr? buildResultExpression Y(Lcom/google/javascript/rhino/Node;ZLjava/lang/String;)Lcom/google/javascript/rhino/Node; isConstantNameNode 4(Lcom/google/javascript/rhino/Node;Ljava/util/Set;)Z H(Lcom/google/javascript/rhino/Node;Ljava/util/Set;)Z extractExpression
extractedNode opNode rightOperand
tempNameValue isLhsOfAssignOp firstExtractedNode? rewriteCallExpression ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionState;)Lcom/google/javascript/rhino/Node; call
getVarNode getExprNode thisVarNode thisNameNode functionNameNode newCall
callParent setTempNamePrefix (Ljava/lang/String;)V prefix RuntimeInvisibleAnnotations 1Lcom/google/common/annotations/VisibleForTesting; getTempValueName ()Ljava/lang/String; setResultNamePrefix getResultValueName getTempConstantValueName name findInjectionPoint F(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; isConditionalOp findExpressionRoot canExposeExpression i(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionType; isSubexpressionMovable ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionType; requiresDecomposition seenSideEffects? isSafeAssign &(Lcom/google/javascript/rhino/Node;Z)Z lhs isExpressionTreeUnsafe followingSideEffectsExist
SourceFile ExpressionDecomposer.java ?? JSCompiler_temp ? ? JSCompiler_inline_result ? ???? ? ? ? ? ? ? ? ??? ? ? 1com/google/javascript/jscomp/ExpressionDecomposer java/lang/IllegalStateException java/lang/StringBuilder (DecomposeExpression depth exceeded on :
??? ?? ? ? ??? ? ???? ????? ???? ???? ? ? ??? Dcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionState ??? ?? ??? ????? ?? ?? ??? ? ?? ??? ? ? *Object method calls can not be decomposed.?? ? ?? ? ? ?? ? ? ?? ? ? ? ? ?????????? ? ??? ? Unexpected.? ? ?? ? ???? ???? ??? ???? ????? ?? ???????? ??? com/google/javascript/rhino/Node? ? ? ? ??? ????? ???? ???????? ? ??????? ?? Fcom/google/javascript/jscomp/MakeDeclaredNamesUnique$ContextualRenamer ContextualRenamer $jscomp$? ? java/lang/String _const? ? ? Unexpected AST structure.
? ? ? ?
java/lang/Object 3com/google/javascript/jscomp/ExpressionDecomposer$1 Ccom/google/javascript/jscomp/ExpressionDecomposer$DecompositionType !com/google/javascript/rhino/Token java/util/Iterator ()V $com/google/common/base/Preconditions checkNotNull &(Ljava/lang/Object;)Ljava/lang/Object; DECOMPOSABLE ELcom/google/javascript/jscomp/ExpressionDecomposer$DecompositionType; append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toStringTree toString
checkState (Z)V -com/google/javascript/jscomp/AbstractCompiler reportCodeChange getParent $()Lcom/google/javascript/rhino/Node; %com/google/javascript/jscomp/NodeUtil isStatementBlock com/google/javascript/rhino/IR 6(Ljava/lang/String;)Lcom/google/javascript/rhino/Node; replaceChild
newVarNode X(Ljava/lang/String;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; addChildBefore mayHaveSideEffects T(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/AbstractCompiler;)Z 8(Lcom/google/javascript/jscomp/ExpressionDecomposer$1;)V sideEffects extractBeforeStatement getToken %()Lcom/google/javascript/rhino/Token;
getFirstChild ASSIGN isGet GETELEM getLastChild CALL getNext (ZLjava/lang/Object;)V OBJECTLIT isExprResult isObjectLitKey detachChildren block srcref ,$SwitchMap$com$google$javascript$rhino$Token [I ordinal ()I newExpr addChildToFront hasChildren ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; useSourceInfoIfMissingFrom !useSourceInfoIfMissingFromForTree
addChildAfter
checkArgument assign
srcrefTree isName
isConstantVar I(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/Scope;)Z getString
java/util/Set contains (Ljava/lang/Object;)Z isAssignmentOp isAssign children ()Ljava/lang/Iterable; java/lang/Iterable iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; isString getOpFromAssignmentOp G(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Token; &(Lcom/google/javascript/rhino/Token;)V setToken addChildToBack cloneTree isCall getFirstFirstChild cloneNode string getprop i(Lcom/google/javascript/rhino/Node;[Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; removeFirstChild removeChildren addChildrenToBack 4com/google/javascript/jscomp/MakeDeclaredNamesUnique com/google/common/base/Supplier get add isLabel getAncestors AncestorIterable 5()Lcom/google/javascript/rhino/Node$AncestorIterable; 1com/google/javascript/rhino/Node$AncestorIterable isForIn UNDECOMPOSABLE MOVABLE canBeSideEffected X(Lcom/google/javascript/rhino/Node;Ljava/util/Set;Lcom/google/javascript/jscomp/Scope;)Z ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 5*? *? *? +? W,? W-? W*+? *,? *-? *?
? ? . > 8
9 ? @ A B $ C ) D . E 4 F ? 4 5 ? ? 5 ? ? 5 ? ? 5 ? ? 5 ? ? ? 5 ? ? 5 ? ? ? ? ? ? ? ? :=? *+? ? /*+?
?d??? Y? Y? ? +? ? ? ? ?? ? " R S
T U V W , X 9 [ ? : ? ? : ? ? 8 ? ? ? ? 6 ? ? ? } +? M,? ? ? *,+? *? ? ? ? c d e f g ? ? ? ? ? ? ? ?
?
?@ ? ? ? ? J*? M+? N-? W-? :? W? ? +? :+,? ? ,+? !:-? "*? ? ? ? : r s
t u v w # z ) { - | 0 { 3 : ? B ? I ? ? H J ? ? J ? ? E ? ?
@ ? ? 5 ? ? ) ! ? ? : ? ? ? ? ? K
x,+? #N-*? ? $6-? :? %Y? &:? '? (:-:? : +? ? ):
? *?
? +? ? ?
? ,? T* ? '? -? ? ? ? +:? ):? +? .? ? /? *? 0? 1*? +? 1? ?
? 2? Y ? +? .? N ? +:*? 3? 1*? '? 4? )? +? ? 56? 7? '* ? 8:: ? (
? 9? * ? +? :? * ? +? 1: :? : ???-,? ? "-? :? ;? ? 6*-?