
com.google.javascript.jscomp.DeadAssignmentsElimination.class Maven / Gradle / Ivy
The newest version!
???? 3?
p ? o ? ?
? o ?
? ?
? ? ? ?
8 ? ? ? ? ?
o ? ?
? ?
? ? ?
o ? ? ?
? ?
? ?
? ?
8 ?
? ?
? ?
? ? ?
?
?
!
!
!
!
!
!
?
?
o
o
8
8
8
8
4 4!" r#
8$
%&
'
o(
)
8*
o+
,
-
8.
8/
80
?1
?2
?3
456 !7
89
8:
8;
8<
?=
6>?
R@
6A
oB
C
8D
8E
8F
GH
8I
GJ
8K
8L
GM
GN
8O
8PQR
cS
T tU
oV tW
oX tY
Z
?[
8\]^`a InnerClassesb VariableLiveness BailoutInformation compiler /Lcom/google/javascript/jscomp/AbstractCompiler; liveness 4Lcom/google/javascript/jscomp/LiveVariablesAnalysis;
functionStack Ljava/util/Deque; Signature _Ljava/util/Deque; 2(Lcom/google/javascript/jscomp/AbstractCompiler;)V Code LineNumberTable LocalVariableTable this 9Lcom/google/javascript/jscomp/DeadAssignmentsElimination; process G(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V externs "Lcom/google/javascript/rhino/Node; root visit s(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V t ,Lcom/google/javascript/jscomp/NodeTraversal; n parent
StackMapTable
enterScope /(Lcom/google/javascript/jscomp/NodeTraversal;)V exitScope eliminateDeadAssignments var "Lcom/google/javascript/jscomp/Var; currentFunction LLcom/google/javascript/jscomp/DeadAssignmentsElimination$BailoutInformation;
blockScope $Lcom/google/javascript/jscomp/Scope;
functionScope cfg /Lcom/google/javascript/jscomp/ControlFlowGraph; LocalVariableTypeTable SLcom/google/javascript/jscomp/ControlFlowGraph; ?cd isRemovableAssign %(Lcom/google/javascript/rhino/Node;)Z tryRemoveDeadAssignments ^(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/jscomp/ControlFlowGraph;)V state FlowState 9Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState; cfgNode DiGraphNode 8Lcom/google/javascript/jscomp/graph/DiGraph$DiGraphNode; nodes Ljava/lang/Iterable; LiveVariableLattice ?Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState;e Branch ?Lcom/google/javascript/jscomp/graph/DiGraph$DiGraphNode; ?Ljava/lang/Iterable;>;f "]gh ?(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/jscomp/ControlFlowGraph;)V tryRemoveAssignment ?(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState;)V ?(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState;)V ?(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState;)V op lhs rhs name Ljava/lang/String; next c exprRoot isDeclarationNode Zi ?(Lcom/google/javascript/jscomp/NodeTraversal;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/DataFlowAnalysis$FlowState;)V #isVariableStillLiveWithinExpression Y(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Ljava/lang/String;)Z sibling JLcom/google/javascript/jscomp/DeadAssignmentsElimination$VariableLiveness; variableb isVariableReadBeforeKill ?(Lcom/google/javascript/rhino/Node;Ljava/lang/String;)Lcom/google/javascript/jscomp/DeadAssignmentsElimination$VariableLiveness; v1 v2 first child checkHookBranchReadBeforeKill ?(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;Ljava/lang/String;)Lcom/google/javascript/jscomp/DeadAssignmentsElimination$VariableLiveness; trueCase falseCase
SourceFile DeadAssignmentsElimination.java j w x java/util/ArrayDeque { |klmgnqrstutvw Jcom/google/javascript/jscomp/DeadAssignmentsElimination$BailoutInformationx ? ? ?y ?zt {|} ? ?~w????????? ???c?? 2com/google/javascript/jscomp/LiveVariablesAnalysis????f??d?t ?w com/google/javascript/jscomp/Var?t?t?t?????????? ? y z?j ? ??? ????t?t?th??? 6com/google/javascript/jscomp/graph/DiGraph$DiGraphNode??? 7com/google/javascript/jscomp/DataFlowAnalysis$FlowState?w com/google/javascript/rhino/Node????????? ? ?? ??t ? ?? ??????t???t????????? ? ?i???t?????j?? Fcom/google/javascript/jscomp/LiveVariablesAnalysis$LiveVariableLattice???? ? ??? ?? ??t????????t??????? ??? java/lang/IllegalStateException Unknown statement ?? ?? ? ? ?? ? ? ?? ??????? 7com/google/javascript/jscomp/DeadAssignmentsElimination Acom/google/javascript/jscomp/NodeTraversal$AbstractScopedCallback AbstractScopedCallback )com/google/javascript/jscomp/CompilerPass 9com/google/javascript/jscomp/DeadAssignmentsElimination$1 Hcom/google/javascript/jscomp/DeadAssignmentsElimination$VariableLiveness "com/google/javascript/jscomp/Scope java/util/Iterator 4com/google/javascript/jscomp/ControlFlowGraph$Branch java/lang/Iterable *com/google/javascript/jscomp/NodeTraversal -com/google/javascript/jscomp/ControlFlowGraph java/lang/String ()V $com/google/common/base/Preconditions checkNotNull &(Ljava/lang/Object;)Ljava/lang/Object; traverseEs6? Callback ?(Lcom/google/javascript/jscomp/AbstractCompiler;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/NodeTraversal$Callback;)V java/util/Deque isEmpty ()Z
isFunction peekFirst ()Ljava/lang/Object; containsFunction containsRemovableAssign inFunctionBlockScope >(Lcom/google/javascript/jscomp/DeadAssignmentsElimination$1;)V addFirst (Ljava/lang/Object;)V removeFirst
checkArgument (Z)V
checkState getScopeRoot $()Lcom/google/javascript/rhino/Node; getParent -com/google/javascript/jscomp/AbstractCompiler hasScopeChanged getScope &()Lcom/google/javascript/jscomp/Scope; getVarCount ()I getVarIterable ()Ljava/lang/Iterable; iterator ()Ljava/util/Iterator; hasNext isClass isLet isConst getName ()Ljava/lang/String; getNameNode getInput .()Lcom/google/javascript/jscomp/CompilerInput; declare ?(Ljava/lang/String;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/jscomp/CompilerInput;)Lcom/google/javascript/jscomp/Var; getControlFlowGraph 1()Lcom/google/javascript/jscomp/ControlFlowGraph; ?(Lcom/google/javascript/jscomp/ControlFlowGraph;Lcom/google/javascript/jscomp/Scope;Lcom/google/javascript/jscomp/AbstractCompiler;)V analyze %com/google/javascript/jscomp/NodeUtil isAssignmentOp
getFirstChild isName isInc isDec getDirectedGraphNodes *com/google/javascript/jscomp/graph/DiGraph
getAnnotation 1()Lcom/google/javascript/jscomp/graph/Annotation; -com/google/javascript/jscomp/DataFlowAnalysis getValue ,$SwitchMap$com$google$javascript$rhino$Token [I getToken %()Lcom/google/javascript/rhino/Token; !com/google/javascript/rhino/Token ordinal getConditionExpression F(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Node; isForIn hasChildren isNameDeclaration getRValueOfLValue getNext isFor getString isFunctionBlockScope
isDeclared (Ljava/lang/String;Z)Z getVar 6(Ljava/lang/String;)Lcom/google/javascript/jscomp/Var; getEscapedLocals ()Ljava/util/Set;
java/util/Set contains (Ljava/lang/Object;)Z equals isAssign removeChild %(Lcom/google/javascript/rhino/Node;)V replaceWith reportCodeChange getOut 5()Lcom/google/javascript/jscomp/graph/LatticeElement; isLive %(Lcom/google/javascript/jscomp/Var;)Z getIn getOpFromAssignmentOp G(Lcom/google/javascript/rhino/Node;)Lcom/google/javascript/rhino/Token; j(Lcom/google/javascript/rhino/Token;Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)V replaceChild isExprResult com/google/javascript/rhino/IR number %(D)Lcom/google/javascript/rhino/Node; srcref voidNode isComma getLastChild empty
exprResult
addChildAfter useSourceInfoFrom (Ljava/lang/String;)V isEnteringNewCfgNode
MAYBE_LIVE KILL READ isVarOrSimpleAssignLhs G(Lcom/google/javascript/rhino/Node;Lcom/google/javascript/rhino/Node;)Z (ZLjava/lang/Object;)V getSecondChild 3com/google/javascript/jscomp/NodeTraversal$Callback o p q w x y z { | } ~
? ? U *? *+? *? Y? ? ? ? 0 1 2 3 ? ? ? w x ? ? ? ^ +? W,? W*? ,*? ? ? 7 8
9 : ? ? ? ? ? ? ? ? ? ? ? @*? ? ? ?,? ? *? ?
? ? ? *,?
? *? ?
? ? ? ? > ?
A B ' C / D ? F ? * @ ? ? @ ? ? @ ? ? @ ? ? ?
? ? ? ^ +? ? *? ? Y? ? ? ? J K M ? ? ? ? ? ? ? ? ? ` +? ? *+? *? ? W? ? Q R S U ? ? ? ? ? ? ? ? ? ? ?+? ? *? ? ? ? ? *? +? ? ? ? ?*? ?
? M,? ? ?,? ? ?+? N-? :d-? ? `? ?-? ? :? ? G? ? !:? "? ? #? ? $? ? ? ? %? &? '? (W???+? ):*? Y*? ? *? +*? +? ,*+? -? ? ^ X Y \ , ] - ` : d A e B j I k J n O o U p X q d r e w ? x ? y ? z ? } ? ~ ? ? ? ? ? ? H ? 5 ? ? ? ? ? ? ? ? : ? ? ? O ? ? ? U ? ? ? ? " ? ? ? ? " ? ? ? '
@? ?? ? ??
?? 1 ?@? ? ? ? f %+? .?
+? /? 0? +? 1?
+? 2? ? ? ? ? ? % ? ? % ? ? ?
@ ? ? ? ? ?,? 3N-? :? ? ?? ? 4:? 5 ? 6:? 7 ? 8:? ??Ͳ 9? :? ;.? f ) ) ) 8 O O O*+? <? =???? >???*+? <? =??r? ???j*+? /? =??[*+? =??O? ? N ? ? # ? % ? / ? ; ? @ ? C ? x ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? H / ? ? ? ; ? ? ? # ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? * / ? ? ? # ? ? ? ? ? ? ? ? ? ? . ?
? ?? 5 ? ? ?4? ? ? ? ? } ? ? ? ? g *+,,-? @? ?
? ? ? * ? ? ? ? ? ? ? ? ? ? ? } ? ? ? ? ?
J,? :? A6,? .? ,? 1? ,? 2? ??? ,? ,? /:? B:? *+-? @? B:? ? C? *+? C-? @? ? ? ? D? ?? 0? ?? E: +? ? F? +? ? :
? G? ?
? H:*? +? I? J ? ?? 6? 0? .? E? K? L? ,? M? ,? N,? O*? ? P?? Q? R? S? ?? T? R? S? *,-? K? U? ?,? M? ,? N,? O? ?,? .? +,? N,? N? 8Y,? V? W:,? X? ?,? 1?
,? 2? ^? Y? ,? Z,? [? \? X? u,? ]? ,? ^? ,? N? \? D? ? >? ? <,? ,? _? X? 7?? '? N? ? `? a? ? bW?
? cYd? e?*? ? P?,? /:? #? C:? f?
*+-? @:??ޱ ? D ? ?
? ' ? 6 ? = ? B ? L ? S ? ` ? m ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? .
45<BKRX^ow ?!?"?#?"?$?%?&?'?(?,?.?/?0?1478:);0<8=B?F@IA ? ? o ? ? 6? ? ? =? ? ? ?? ? ? ?x ? ?
?c ? ? 0 ? ? $ % ? ? J ? ? J ? ? J ? ? J ? ? J ? ? D ? ?
= ? ? ? J ? ? ? _ ? ' ?C ?? ? ? ? % ? ?? ?7.
$ ( ? ? ? ? ? ? ? ? ?? ?? } ? ? ? ? ? ?+,? ?? g:? 9+? ? :? ;.? d
>+? C? m*+? C-? h:? i? Z? g:? R+? C? K+? C? C? A*+? C+? C? C-? j:? ,+? C:? !*-? h:? g? ?
? C:???? k? ?? i? ?+? L??B? ? f V W
X 4^ ;_ =` A_ Fa Nb Vk gl im tl |r ?t ?u ?v ?s ?| ?} ?~ ? ?? ?? ?? ? > ? # ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? 3 ?!%? ?? ? ? ? ? i ?+? f? ? g?+? 0? G,+? E? L? <++? ? l? -+? ? M+? ? m+? CN*-,? h:? k? ?? i?? k?? 9+? :? ;.? m
I*+? /,? hN*+? ^,? h:-? g? -?? k? ? k?? g?*+? /,? h:? g? ?*+? n+? ^,? j?+? /:? !*,? h:? g? ?? C:??? g? ? ? &