Edit C:\Program Files\Java\jre8\lib\ext\jdk\nashorn\internal\codegen\LocalVariableTypesCalculator.class
Êþº¾ 3õ î ï ð ñ ò ó ôõ ö ÷øùúûü ýþ ÿ úú øø ú ø úúø ( ( -ÿ - - -! " # $ % & '( !ÿ) :ÿ * +, - ÿ. @ÿ / 0 1 2 3ú45 H 6 ?7 89: ;< = > ?@A BC ?D ?EFG VHI J ?K L M ?N ?7 ?O ?P Q R ÌST U V WøX Y Z[ Z\ ] Z^ ³\ _ `a `b c d e fg fh fi fj Ìk l ?mún o ?p q rs9tu9 ?k9v wx wy wz {| w} ~s { ? ? ?? ?? R? ? {? ? ? ? ?? ? ?? ?? ?? ?? ?? ?? ?? ? ? ?? ?? ?? ? ?< ??? ª¡ ¢£¤ ¥ s ¦ § \ ¨s ¨©T ¨ª ¨j ¨«¬ ¹? ¨ ® ¹h ̯ °? °± °² ³ ´g ´i ´j {µ ´h ¶s · ¸h ¸¹º ¸» ¸¼½ Ͼ Ï¿ Ïh Às ÀÁ À7 ÀP Âx Âà fÄ Å Æs Æh ÇÈÉúÊ Ë HÌ HÍÎ ãÏ ãÐ9Ñ Ò HÓ ÇÔ Õ Ö × (Ø Ù Ú ÇÛ Ìj Ü Ý ÇÞ ?ß ?à Ìá ?âT Tã ?â ?ä ?å ?æ Rç è Réê ë kìjí î ?h ?ï ?ð ?ñ ?ò óô õö R÷ øn ù ú û Ìü ýúþÿ ÿø InnerClasses SymbolConversions TypeHolderExpression LvarType JumpTarget JumpOrigin TO_LVAR_TYPE Ljava/util/Map; Signature ~Ljava/util/Map<Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; compiler 'Ljdk/nashorn/internal/codegen/Compiler; jumpTargets {Ljava/util/Map<Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTarget;>; localVariableTypes uLjava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; invalidatedSymbols Ljava/util/Set; 1Ljava/util/Set<Ljdk/nashorn/internal/ir/Symbol;>; typeStack Ljava/util/Deque; WLjava/util/Deque<Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; reachable Z returnType )Ljdk/nashorn/internal/codegen/types/Type; syntheticReturn $Ljdk/nashorn/internal/ir/ReturnNode; alreadyEnteredTopLevelFunction localVariableConversions kLjava/util/Map<Ljdk/nashorn/internal/ir/JoinPredecessor;Ljdk/nashorn/internal/ir/LocalVariableConversion;>; identifierLvarTypes xLjava/util/Map<Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; symbolConversions ~Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$SymbolConversions;>; catchLabels 7Ljava/util/Deque<Ljdk/nashorn/internal/codegen/Label;>; $assertionsDisabled cloneMap $(Ljava/util/Map;)Ljava/util/HashMap; Code LineNumberTable LocalVariableTable map LocalVariableTypeTable ð(Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;)Ljava/util/HashMap<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; createConversion ×(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;Ljava/util/Map;Ljdk/nashorn/internal/ir/LocalVariableConversion;)Ljdk/nashorn/internal/ir/LocalVariableConversion; this ;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator; symbol Ljdk/nashorn/internal/ir/Symbol; branchLvarType DLjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; joinLvarTypes next 1Ljdk/nashorn/internal/ir/LocalVariableConversion; targetType StackMapTableü=(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;Ljdk/nashorn/internal/ir/LocalVariableConversion;)Ljdk/nashorn/internal/ir/LocalVariableConversion; getUnionTypes /(Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map; type1 type2 widest matches1 matches2 union types1 types2 commonSymbols commonSize I types1Size types2Size a(Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;)Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; symbolIsUsed g(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)V type symbolIsConverted «(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)V from to conversions MLjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$SymbolConversions; toLvarType o(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; lvarType widestLvarType Î(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; t1 t2 <init> *(Ljdk/nashorn/internal/codegen/Compiler;)V createJumpTarget l(Ljdk/nashorn/internal/codegen/Label;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTarget; label $Ljdk/nashorn/internal/codegen/Label; jumpTarget FLjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTarget; doesNotContinueSequentially ()V pushExpressionType '(Ljdk/nashorn/internal/ir/Expression;)Z expr $Ljdk/nashorn/internal/ir/Expression; enterAccessNode '(Ljdk/nashorn/internal/ir/AccessNode;)Z accessNode $Ljdk/nashorn/internal/ir/AccessNode; enterBinaryNode '(Ljdk/nashorn/internal/ir/BinaryNode;)Z lhsType binaryNode $Ljdk/nashorn/internal/ir/BinaryNode; lhs isLogical joinLabel rhs rhsTypetF enterBlock "(Ljdk/nashorn/internal/ir/Block;)Z block Ljdk/nashorn/internal/ir/Block; cloned enterBreakNode &(Ljdk/nashorn/internal/ir/BreakNode;)Z breakNode #Ljdk/nashorn/internal/ir/BreakNode; enterCallNode %(Ljdk/nashorn/internal/ir/CallNode;)Z callNode "Ljdk/nashorn/internal/ir/CallNode; evalArgs EvalArgs +Ljdk/nashorn/internal/ir/CallNode$EvalArgs; enterContinueNode )(Ljdk/nashorn/internal/ir/ContinueNode;)Z continueNode &Ljdk/nashorn/internal/ir/ContinueNode; enterJumpStatement *(Ljdk/nashorn/internal/ir/JumpStatement;)Z jump 'Ljdk/nashorn/internal/ir/JumpStatement; enterDefault !(Ljdk/nashorn/internal/ir/Node;)Z node Ljdk/nashorn/internal/ir/Node; enterDoWhileLoop &(Ljdk/nashorn/internal/ir/WhileNode;)V beforeRepeatTypes loopNode #Ljdk/nashorn/internal/ir/WhileNode; test 3Ljdk/nashorn/internal/ir/JoinPredecessorExpression; body continueLabel breakLabel beforeLoopTypes repeatLabelº enterExpressionStatement 0(Ljdk/nashorn/internal/ir/ExpressionStatement;)Z expressionStatement -Ljdk/nashorn/internal/ir/ExpressionStatement; assertTypeStackIsEmpty leaveDefault >(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node; visitExpressionOnEmptyStack j(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; visitExpression stackSize visitExpressions (Ljava/util/List;)V exprs Ljava/util/List; 6Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>; 9(Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)V enterForNode $(Ljdk/nashorn/internal/ir/ForNode;)Z iterable forNode !Ljdk/nashorn/internal/ir/ForNode; init enterFunctionNode )(Ljdk/nashorn/internal/ir/FunctionNode;)Z callSiteParamType paramType param #Ljdk/nashorn/internal/ir/IdentNode; functionNode &Ljdk/nashorn/internal/ir/FunctionNode; posA enterGetSplitState *(Ljdk/nashorn/internal/ir/GetSplitState;)Z getSplitState 'Ljdk/nashorn/internal/ir/GetSplitState; enterIdentNode &(Ljdk/nashorn/internal/ir/IdentNode;)Z identNode enterIfNode #(Ljdk/nashorn/internal/ir/IfNode;)Z ifNode Ljdk/nashorn/internal/ir/IfNode; processIfNode #(Ljdk/nashorn/internal/ir/IfNode;)V passLvarTypes reachableFromPass afterTestLvarTypes failLvarTypes pass fail isTestAlwaysTrue enterIndexNode &(Ljdk/nashorn/internal/ir/IndexNode;)Z indexNode #Ljdk/nashorn/internal/ir/IndexNode; enterJoinPredecessorExpression 6(Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)Z joinExpr enterJumpToInlinedFinally 1(Ljdk/nashorn/internal/ir/JumpToInlinedFinally;)Z jumpToInlinedFinally .Ljdk/nashorn/internal/ir/JumpToInlinedFinally; enterLiteralNode ((Ljdk/nashorn/internal/ir/LiteralNode;)Z expressions literalNode %Ljdk/nashorn/internal/ir/LiteralNode; (Ljdk/nashorn/internal/ir/LiteralNode<*>; +(Ljdk/nashorn/internal/ir/LiteralNode<*>;)Z enterObjectNode '(Ljdk/nashorn/internal/ir/ObjectNode;)Z value propertyNode &Ljdk/nashorn/internal/ir/PropertyNode; objectNode $Ljdk/nashorn/internal/ir/ObjectNode; enterPropertyNode )(Ljdk/nashorn/internal/ir/PropertyNode;)Z enterReturnNode '(Ljdk/nashorn/internal/ir/ReturnNode;)Z returnExprType returnNode returnExpr enterRuntimeNode ((Ljdk/nashorn/internal/ir/RuntimeNode;)Z runtimeNode %Ljdk/nashorn/internal/ir/RuntimeNode; enterSplitReturn ((Ljdk/nashorn/internal/ir/SplitReturn;)Z splitReturn %Ljdk/nashorn/internal/ir/SplitReturn; enterSwitchNode '(Ljdk/nashorn/internal/ir/SwitchNode;)Z caseNode "Ljdk/nashorn/internal/ir/CaseNode; entryLabel switchNode $Ljdk/nashorn/internal/ir/SwitchNode; cases isInteger hasDefault tagUsed previousBlock 4Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;¬ enterTernaryNode ((Ljdk/nashorn/internal/ir/TernaryNode;)Z trueType falseType ternaryNode %Ljdk/nashorn/internal/ir/TernaryNode; trueExpr falseExpr testExitLvarTypes trueExitLvarTypes falseExitLvarTypes assertNotNull &(Ljava/lang/Object;)Ljava/lang/Object; t Ljava/lang/Object; TT; <T:Ljava/lang/Object;>(TT;)TT; enterTestFirstLoop }(Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;Ljdk/nashorn/internal/ir/Expression;Z)V ident "Ljdk/nashorn/internal/ir/LoopNode; modify iteratorValues iteratorValuesAreObject enterThrowNode &(Ljdk/nashorn/internal/ir/ThrowNode;)Z throwNode #Ljdk/nashorn/internal/ir/ThrowNode; enterTryNode $(Ljdk/nashorn/internal/ir/TryNode;)Z finallyBody inlinedFinally exception condition afterConditionTypes catchBody catchNode #Ljdk/nashorn/internal/ir/CatchNode; tryNode !Ljdk/nashorn/internal/ir/TryNode; catchLabel endLabel canExit½ enterUnaryNode &(Ljdk/nashorn/internal/ir/UnaryNode;)Z unaryNode #Ljdk/nashorn/internal/ir/UnaryNode; unaryType enterVarNode $(Ljdk/nashorn/internal/ir/VarNode;)Z varNode !Ljdk/nashorn/internal/ir/VarNode; enterWhileNode &(Ljdk/nashorn/internal/ir/WhileNode;)Z whileNode enterWithNode %(Ljdk/nashorn/internal/ir/WithNode;)Z withNode "Ljdk/nashorn/internal/ir/WithNode; getBreakTargetTypes =(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljava/util/Map; ,Ljdk/nashorn/internal/ir/LexicalContextNode; it Ljava/util/Iterator; target types BLjava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;É £(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>; getLocalVariableType f(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; getLocalVariableTypeOrNull getOrCreateJumpTarget5 joinOnLabel '(Ljdk/nashorn/internal/codegen/Label;)V jumpOrigin FLjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpOrigin; jumpToCatchBlock ,(Ljdk/nashorn/internal/ir/JoinPredecessor;)V )Ljdk/nashorn/internal/ir/JoinPredecessor; currentCatchLabel jumpToLabel P(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljdk/nashorn/internal/codegen/Label;)V _(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljdk/nashorn/internal/codegen/Label;Ljava/util/Map;)V Å(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljdk/nashorn/internal/codegen/Label;Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;)V leaveBlock ?(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node; labelNode #Ljdk/nashorn/internal/ir/LabelNode; calculateReturnType createSyntheticReturn "(Ljdk/nashorn/internal/ir/Block;)V token J finish statements lineNumber 5Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>; leaveBreakable *(Ljdk/nashorn/internal/ir/BreakableNode;)V breakable 'Ljdk/nashorn/internal/ir/BreakableNode; leaveFunctionNode F(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node; newFunction applyChangesVisitor 3Ljdk/nashorn/internal/ir/visitor/SimpleNodeVisitor; createIsUndefined Request ¿(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Ljdk/nashorn/internal/ir/Expression; parent request -Ljdk/nashorn/internal/ir/RuntimeNode$Request; isUndefinedIdent "identIsDeadAndHasNoLiveConversions conv onAssignment j(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)V finalType onSelfAssignment resetJoinPoint setCompilerConstantAsObject Y(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/CompilerConstants;)V cc 0Ljdk/nashorn/internal/codegen/CompilerConstants; getCompilerConstantSymbol x(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol; setConversion J(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljava/util/Map;Ljava/util/Map;)V entry Entry Ljava/util/Map$Entry; branchLvarTypes conversion {Ljava/util/Map$Entry<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;Ljava/util/Map<Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;>;)V setIdentifierLvarType setType cloneOrNewLocalVariableTypesõ invalidateSymbol #(Ljdk/nashorn/internal/ir/Symbol;)V access$000 j(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;Ljava/util/Map;Ljava/util/Map;)Ljava/util/Map; x0 x1 x2 access$700 d(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;)Ljdk/nashorn/internal/codegen/Compiler; access$800 x3 access$900 a(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;)Ljdk/nashorn/internal/ir/ReturnNode; access$1000 L(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;)Ljava/util/Map; access$1100 access$1200 a(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;Ljdk/nashorn/internal/ir/IdentNode;)Z <clinit> SourceFile !LocalVariableTypesCalculator.java½ûA+C+>?µ¸./ab java/util/HashMap45 !R Bjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarTypeI; java/lang/AssertionError??yz /jdk/nashorn/internal/ir/LocalVariableConversion"#?$%& java/util/HashSet'(?)*+,-./0&[ jdk/nashorn/internal/ir/Symbol??JK12345+6Y78E+ Kjdk/nashorn/internal/codegen/LocalVariableTypesCalculator$SymbolConversions?9:;*+<& java/lang/StringBuilder Unsupported primitive type: =>=?@A?BCYD-EYFGHIJ java/util/IdentityHashMap0+KLM2+ java/util/ArrayDeque78:;N=<=G8O Djdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTargetÖ?PQ??RBSTUÛÚ??V?U !jdk/nashorn/internal/ir/IdentNodeWXYZ[?& "jdk/nashorn/internal/codegen/Label ?\ 'jdk/nashorn/internal/ir/JoinPredecessor??¡U??]^_`a&b&ÃÁÀÁcde&??Ö?f »¼ghUidÝÞjklmnopqr??????stuvwxyxz{ÙÚ|?} Ä?~?¬?U "jdk/nashorn/internal/ir/Expression !jdk/nashorn/internal/ir/Statement??U?&?t??&?&??WX@;?&?d???&??ÕwvÙÔÁ??ÈÅÆ?&?&?È?&?È?&?È??sU?v?vËÌ??U? 4jdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode ArrayLiteralNode?d? d $jdk/nashorn/internal/ir/PropertyNode¡U6=¢£¤d¥&¦§ jdk/nashorn/internal/ir/CaseNode¨?vw©xªt«tQR¬®??¯d jdk/nashorn/internal/ir/Block°±²d !jdk/nashorn/internal/ir/CatchNode³´µU¶·¸¹º´»&Ãļ½¾/ *jdk/nashorn/internal/ir/LexicalContextNodefR??¿ÀÁ Djdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpOriginÁ??+Ã??ÄÅÆ&¤¥£?ØÙÇÙÈ-ÉÊËÌÍ&C=ÎÏÐÑÒ-ÓdÔ-!ÕÖ&×ÈØA?ÙÉÊÚÛ "jdk/nashorn/internal/ir/ReturnNode?ÜÝ ;jdk/nashorn/internal/codegen/LocalVariableTypesCalculator$1?Þßàáâãäåæ¼? #jdk/nashorn/internal/ir/RuntimeNode?ç undefinedºAèé&êëìYíîRSï( java/util/Map$Entryð¡ñ&ò 9jdk/nashorn/internal/codegen/LocalVariableTypesCalculatoróô& 1jdk/nashorn/internal/ir/visitor/SimpleNodeVisitor ;jdk/nashorn/internal/codegen/LocalVariableTypesCalculator$2 Njdk/nashorn/internal/codegen/LocalVariableTypesCalculator$TypeHolderExpression java/util/Map java/util/Set java/util/Iterator )jdk/nashorn/internal/ir/CallNode$EvalArgs !jdk/nashorn/internal/ir/WhileNode 1jdk/nashorn/internal/ir/JoinPredecessorExpression jdk/nashorn/internal/ir/ForNode 'jdk/nashorn/internal/codegen/types/Type $jdk/nashorn/internal/ir/FunctionNode jdk/nashorn/internal/ir/IfNode jdk/nashorn/internal/ir/Node java/util/List "jdk/nashorn/internal/ir/SwitchNode #jdk/nashorn/internal/ir/TernaryNode java/util/Deque jdk/nashorn/internal/ir/LoopNode jdk/nashorn/internal/ir/TryNode +jdk/nashorn/internal/ir/RuntimeNode$Request E[Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; clone ()Ljava/lang/Object; contains (Ljava/lang/Object;)Z get access$100 o(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)Ljdk/nashorn/internal/codegen/types/Type; ¦(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/LocalVariableConversion;)V isEmpty ()Z keySet ()Ljava/util/Set; (Ljava/util/Collection;)V retainAll (Ljava/util/Collection;)Z size ()I iterator ()Ljava/util/Iterator; hasNext put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; putAll (Ljava/util/Map;)V removeAll UNDEFINED setHasSlotFor ,(Ljdk/nashorn/internal/codegen/types/Type;)V @(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$1;)V recordConversion ?(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)V isObject append -(Ljava/lang/String;)Ljava/lang/StringBuilder; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; toString ()Ljava/lang/String; (Ljava/lang/Object;)V OBJECT ordinal INT values G()[Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType; java/lang/Math max (II)I java/util/Collections emptyMap ()Ljava/util/Map; UNKNOWN containsKey getType +()Ljdk/nashorn/internal/codegen/types/Type; push "jdk/nashorn/internal/ir/AccessNode getBase &()Ljdk/nashorn/internal/ir/Expression; "jdk/nashorn/internal/ir/BinaryNode %jdk/nashorn/internal/parser/TokenType ASSIGN 'Ljdk/nashorn/internal/parser/TokenType; isTokenType *(Ljdk/nashorn/internal/parser/TokenType;)Z (Ljava/lang/String;)V access$400 ?(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$LvarType;)Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$TypeHolderExpression; setOperands n(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/BinaryNode; isAssignment isSelfModifying getSymbols ()Ljava/util/List; isBytecodeLocal remove jdk/nashorn/internal/ir/CallNode getFunction getArgs getEvalArgs -()Ljdk/nashorn/internal/ir/CallNode$EvalArgs; lc (Ljdk/nashorn/internal/ir/LexicalContext; %jdk/nashorn/internal/ir/JumpStatement getTargetLabel N(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/codegen/Label; getPopScopeLimit V(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/LexicalContextNode; getTest 5()Ljdk/nashorn/internal/ir/JoinPredecessorExpression; getBody !()Ljdk/nashorn/internal/ir/Block; getContinueLabel &()Ljdk/nashorn/internal/codegen/Label; getBreakLabel accept M(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node; isAlwaysFalse equals isAlwaysTrue +jdk/nashorn/internal/ir/ExpressionStatement getExpression pop getInit isForIn getModify %jdk/nashorn/internal/codegen/Compiler useOptimisticTypes isForEach hasStringPropertyIterator isVarArg getParameters getSymbol "()Ljdk/nashorn/internal/ir/Symbol; hasSlot getParamType R(Ljdk/nashorn/internal/ir/FunctionNode;I)Ljdk/nashorn/internal/codegen/types/Type; .jdk/nashorn/internal/codegen/CompilerConstants THIS hasScopeBlock needsParentScope SCOPE needsCallee CALLEE needsArguments ARGUMENTS getPass getFail !jdk/nashorn/internal/ir/IndexNode getIndex #jdk/nashorn/internal/ir/LiteralNode getElementExpressions "jdk/nashorn/internal/ir/ObjectNode getElements getValue widestReturnType }(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type; getCases isUniqueInteger getDefaultCase $()Ljdk/nashorn/internal/ir/CaseNode; getTag getEntryLabel getTrueExpression getFalseExpression getOptimisticType O(Ljdk/nashorn/internal/ir/Optimistic;)Ljdk/nashorn/internal/codegen/types/Type; !jdk/nashorn/internal/ir/ThrowNode getInlinedFinallies getLabelledInlinedFinallyBlock @(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block; getCatches getException %()Ljdk/nashorn/internal/ir/IdentNode; getExceptionCondition !jdk/nashorn/internal/ir/UnaryNode setExpression I(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/ir/UnaryNode; jdk/nashorn/internal/ir/VarNode getName isDoWhile jdk/nashorn/internal/ir/WithNode &jdk/nashorn/internal/ir/LexicalContext getAllNodes access$500 X(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTarget;)Ljava/util/List; access$600 W(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator$JumpTarget;)Ljava/util/Map; peek addOrigin v(Ljdk/nashorn/internal/ir/JoinPredecessor;Ljava/util/Map;Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;)V isFunctionBody calculateTypeLiveness slotCount setNeedsSlot #(Z)Ljdk/nashorn/internal/ir/Symbol; getCurrentBlockLabelNode %()Ljdk/nashorn/internal/ir/LabelNode; isUnknown getCurrentFunction (()Ljdk/nashorn/internal/ir/FunctionNode; getToken ()J getFinish getStatements getLineNumber (I)Ljava/lang/Object; isProgram RETURN symbolName (JILjava/lang/String;)V setSymbol E(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode; *(IJILjdk/nashorn/internal/ir/Expression;)V %jdk/nashorn/internal/ir/BreakableNode >(Ljdk/nashorn/internal/codegen/LocalVariableTypesCalculator;)V setBody o(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode; setReturnType y(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/ir/FunctionNode; visitParameters ?(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljava/util/List; setParameters `(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/FunctionNode; y(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/RuntimeNode$Request;[Ljdk/nashorn/internal/ir/Expression;)V java/lang/String isLive setFlag #(I)Ljdk/nashorn/internal/ir/Symbol; BOOLEAN getExistingSymbol 4(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol; entrySet getKey isGlobal add java/lang/Class desiredAssertionStatus 0! *+ , - ./ 0+ , 1 2+ , 3 45 , 6 78 , 9 :; <= >? @; A+ , B C+ , D E+ , F G8 , HI; V JK L G *À ¶ À ° M ¾N O+ P O3 , Q RS L î T*´ +¹ ? °-+¹ À :² ? Ç » Y· ¿,¦ °*+,· » Y+,¸ ¸ · ° M "