Edit C:\Program Files\Java\jre8\lib\ext\jdk\nashorn\internal\codegen\SplitIntoFunctions.class
Êþº¾ 3W?@ A ?BC A OD OE OF OGH IJ KL M ONO PQRQST OU OV WX Y Z[ Z\ d] d^ d_ ` Oa Obc "de $A )f gh ijk )l Omn ,A )[ ,op ,q Or st su vw )x )y Zz ){ O|}~ <?? O? ?? ;? ?Q?? g? i? E?? I? ???? M?? O? O???????? O?? ?? W? ¡ [¢ O£¤ O¥ ^¦?§ ¨© ª«¬ O d®¯ g? O° O±² k³ d´µ g¶ n· O¸ ?¹ º» º¼ ½ º¾ º^ º¿ º_ ºÀ I´ "Á " "à OÄ "Å OÆ OÇ È UÉ "Ê Ë U¿Ì ?Í ÎÏ g¿ "U ÐÑ ÒÓ ÒÔ ÒÕÖ× SplitState InnerClasses FunctionState FALLTHROUGH_STATE I ConstantValueÿÿÿÿ RETURN_STATE BREAK_STATE FIRST_JUMP_STATE THIS_NAME Ljava/lang/String; RETURN_NAME RETURN_PARAM_NAME functionStates Ljava/util/Deque; Signature RLjava/util/Deque<Ljdk/nashorn/internal/codegen/SplitIntoFunctions$FunctionState;>; splitStates OLjava/util/Deque<Ljdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState;>; namespace (Ljdk/nashorn/internal/codegen/Namespace; artificialBlock Z nextFunctionId $assertionsDisabled <init> *(Ljdk/nashorn/internal/codegen/Compiler;)V Code LineNumberTable LocalVariableTable this 1Ljdk/nashorn/internal/codegen/SplitIntoFunctions; compiler 'Ljdk/nashorn/internal/codegen/Compiler; enterFunctionNode )(Ljdk/nashorn/internal/ir/FunctionNode;)Z functionNode &Ljdk/nashorn/internal/ir/FunctionNode; leaveFunctionNode F(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node; leaveDefault >(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node; node Ljdk/nashorn/internal/ir/Node; StackMapTable enterSplitNode &(Ljdk/nashorn/internal/ir/SplitNode;)Z splitNode #Ljdk/nashorn/internal/ir/SplitNode; leaveSplitNode C(Ljdk/nashorn/internal/ir/SplitNode;)Ljdk/nashorn/internal/ir/Node; parentSplit <Ljdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState; callWithReturn $Ljdk/nashorn/internal/ir/Expression; jump 'Ljdk/nashorn/internal/ir/JumpStatement; cases Ljava/util/List; i splitStateHandler #Ljdk/nashorn/internal/ir/Statement; fnState ?Ljdk/nashorn/internal/codegen/SplitIntoFunctions$FunctionState; name body Ljdk/nashorn/internal/ir/Block; firstLineNumber token J finish originalFn isProgram newFnToken fn thisIdent #Ljdk/nashorn/internal/ir/IdentNode; callNode "Ljdk/nashorn/internal/ir/CallNode; splitState hasReturn jumpStatements jumpCount LocalVariableTypeTable 4Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>; 9Ljava/util/List<Ljdk/nashorn/internal/ir/JumpStatement;>;?ØOÙ¬kÚH²Û~}X?ÜT addCase 3(Ljava/util/List;ILjdk/nashorn/internal/ir/Block;)V W(Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;ILjdk/nashorn/internal/ir/Block;)V intLiteral ((I)Ljdk/nashorn/internal/ir/LiteralNode; <(I)Ljdk/nashorn/internal/ir/LiteralNode<Ljava/lang/Number;>; createReturnFromSplit !()Ljdk/nashorn/internal/ir/Block; createReturnReturn &()Ljdk/nashorn/internal/ir/ReturnNode; createReturnIdent %()Ljdk/nashorn/internal/ir/IdentNode; createReturnParamIdent createIdent 7(Ljava/lang/String;)Ljdk/nashorn/internal/ir/IdentNode; enblockAndVisit H(Ljdk/nashorn/internal/ir/JumpStatement;)Ljdk/nashorn/internal/ir/Block; block makeIfStateEquals h(IJIILjdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Statement;)Ljdk/nashorn/internal/ir/IfNode; lineNumber value pass fail? enterVarNode $(Ljdk/nashorn/internal/ir/VarNode;)Z varNode !Ljdk/nashorn/internal/ir/VarNode; init leaveBlock ?(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node; leaveBreakNode C(Ljdk/nashorn/internal/ir/BreakNode;)Ljdk/nashorn/internal/ir/Node; breakNode #Ljdk/nashorn/internal/ir/BreakNode; leaveContinueNode F(Ljdk/nashorn/internal/ir/ContinueNode;)Ljdk/nashorn/internal/ir/Node; continueNode &Ljdk/nashorn/internal/ir/ContinueNode; leaveJumpToInlinedFinally N(Ljdk/nashorn/internal/ir/JumpToInlinedFinally;)Ljdk/nashorn/internal/ir/Node; jumpToInlinedFinally .Ljdk/nashorn/internal/ir/JumpToInlinedFinally; leaveJumpNode P(Ljdk/nashorn/internal/ir/JumpStatement;)Ljdk/nashorn/internal/ir/JumpStatement; appendSplitReturn (II)V leaveReturnNode D(Ljdk/nashorn/internal/ir/ReturnNode;)Ljdk/nashorn/internal/ir/Node; returnNode $Ljdk/nashorn/internal/ir/ReturnNode; appendStatement &(Ljdk/nashorn/internal/ir/Statement;)V statement inSplitNode ()Z getCurrentFunctionState A()Ljdk/nashorn/internal/codegen/SplitIntoFunctions$FunctionState; getCurrentSplitState >()Ljdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState; <clinit> ()V \Ljdk/nashorn/internal/ir/visitor/NodeVisitor<Ljdk/nashorn/internal/ir/BlockLexicalContext;>; SourceFile SplitIntoFunctions.java jdk/nashorn/internal/ir/Node 1jdk/nashorn/internal/codegen/SplitIntoFunctions$1 °; °Ý java/util/ArrayDeque ¤ ¥ ¨ ¥ ¬ ® ? &jdk/nashorn/internal/codegen/NamespaceÞßàáâã °ä ª « =jdk/nashorn/internal/codegen/SplitIntoFunctions$FunctionState °åæçèéê !jdk/nashorn/internal/ir/Statement1267ë ? :jdk/nashorn/internal/codegen/SplitIntoFunctions$SplitState °ìØíîïðñòóôñ á ¼ ¯ õö +jdk/nashorn/internal/ir/BlockLexicalContext÷ø java/lang/AssertionError ß5ùúûüýþ $jdk/nashorn/internal/ir/FunctionNodeÿ java/lang/StringBuilder $î ° ¡ jdk/nashorn/internal/ir/CallNode "jdk/nashorn/internal/ir/AccessNode call ° "jdk/nashorn/internal/ir/Expression ° ç ê "jdk/nashorn/internal/ir/BinaryNodeû ° +jdk/nashorn/internal/ir/ExpressionStatement ° è ÑÛñ java/util/ArrayList ° /jdk/nashorn/internal/codegen/SplitIntoFunctions ý þ!"Ü#5$ê %jdk/nashorn/internal/ir/JumpStatement "jdk/nashorn/internal/ir/SwitchNode%&' °() !jdk/nashorn/internal/ir/BreakNode °* jdk/nashorn/internal/ir/CaseNode °+,-./0123 jdk/nashorn/internal/ir/Block °4 "jdk/nashorn/internal/ir/ReturnNode ¢ ¡ £ ¡ !jdk/nashorn/internal/ir/IdentNode °567 jdk/nashorn/internal/ir/IfNode8û °945:;5<=>