Edit C:\Program Files\Java\jre8\lib\ext\jdk\nashorn\internal\codegen\AssignSymbols.class
Êþº¾ 34' ( ) 2* + , z- ./ ^0 ^1 ?2 34 ?5 6 ?7 ?8 39 ?: ?; ?< ?= 2/ §> ? @ AB A CD A E F GH I J KL M GN O PQR *S §T 3U V W XY 2Z[ ?\ ?] 2^_` a_b c d ef <Ag ?h >i >j >Tk Cl Xm nop ?q 3r 3sot Xuovwxwywz §{o|o} §~ ? ? X? ?? ?? <? ??? ?? ? ? ? ? ? X? X? ? §? ? ?? kA? k? ?? ???? ?/ k? ¡ k¢ K£¤ K¥ ¦ X§ §¨ © ?ª G« ¬ ®¯x¯y ° ± ²³ X´ 3µ ^¶ · ¸ ¹ ?º» X¼ ½¾ ?A¿À >Á  à >Ä >? >Å Æ CA ?Ç ?Èo®É Ê kË k? ?Ì XÍÎ XÏÐ / XÑ XÒ XÓ Ô Õ Ö × Ø 3Ù 3Ú Û 3Ü Ý XÞ ßà áâ ã ä áåæ ¾ç è¿éê ¾ë Âp ì íî ßï ð ñ ò ?ó íô õö õT÷ Þø õù ú Þû Á Þüý Öç Öþÿ Ù 3 X ¿ Â| ? 2 2 2 2 3 õ Þ §! " # ?$ %&' K( ) *+,-. >/012 3 G4 ?\ ?5 67 68 9: ;< => .?@AB InnerClasses log 2Ljdk/nashorn/internal/runtime/logging/DebugLogger; debug Z thisProperties Ljava/util/Deque; Signature 6Ljava/util/Deque<Ljava/util/Set<Ljava/lang/String;>;>; globalSymbols Ljava/util/Map; CLjava/util/Map<Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;>; compiler 'Ljdk/nashorn/internal/codegen/Compiler; isOnDemand $assertionsDisabled isParamOrVar &(Ljdk/nashorn/internal/ir/IdentNode;)Z Code LineNumberTable LocalVariableTable identNode #Ljdk/nashorn/internal/ir/IdentNode; symbol Ljdk/nashorn/internal/ir/Symbol; StackMapTable' name 2(Ljdk/nashorn/internal/ir/Node;)Ljava/lang/String; node Ljdk/nashorn/internal/ir/Node; cn Ljava/lang/String; lastDot I? removeUnusedSlots N(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/FunctionNode; selfSymbol functionNode &Ljdk/nashorn/internal/ir/FunctionNode; <init> *(Ljdk/nashorn/internal/codegen/Compiler;)V this ,Ljdk/nashorn/internal/codegen/AssignSymbols; getLogger 4()Ljdk/nashorn/internal/runtime/logging/DebugLogger; initLogger Z(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; context &Ljdk/nashorn/internal/runtime/Context; acceptDeclarations H(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)V body Ljdk/nashorn/internal/ir/Block; compilerConstantIdentifier U(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/IdentNode; cc 0Ljdk/nashorn/internal/codegen/CompilerConstants; createImplicitIdentifier 7(Ljava/lang/String;)Ljdk/nashorn/internal/ir/IdentNode; fn createSymbol 5(Ljava/lang/String;I)Ljdk/nashorn/internal/ir/Symbol; global flags createSyntheticInitializer ?(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/VarNode; initConstant init synthVar !Ljdk/nashorn/internal/ir/VarNode; nameSymbol[g createSyntheticInitializers it Ljava/util/ListIterator; syntheticInitializers Ljava/util/List; stmts newStatements LocalVariableTypeTable ;Ljava/util/ListIterator<Ljdk/nashorn/internal/ir/VarNode;>; 3Ljava/util/List<Ljdk/nashorn/internal/ir/VarNode;>; 5Ljava/util/List<Ljdk/nashorn/internal/ir/Statement;>;CÎDE defineSymbol r(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol; function symbolBlock block origin symbolFlags isBlockScope isGlobal isParam isVar» end >(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node; TT; *<T:Ljdk/nashorn/internal/ir/Node;>(TT;)TT; ?(Ljdk/nashorn/internal/ir/Node;Z)Ljdk/nashorn/internal/ir/Node; sb Ljava/lang/StringBuilder; printNode>F? +<T:Ljdk/nashorn/internal/ir/Node;>(TT;Z)TT; enterBlock "(Ljdk/nashorn/internal/ir/Block;)ZG isUnparsedFunction )(Ljdk/nashorn/internal/ir/FunctionNode;)Z enterCatchNode &(Ljdk/nashorn/internal/ir/CatchNode;)Z catchNode #Ljdk/nashorn/internal/ir/CatchNode; exception exname isInternalH enterFunctionBody ()V defineFunctionSelfSymbol enterFunctionNode enterVarNode $(Ljdk/nashorn/internal/ir/VarNode;)Z varNode leaveVarNode A(Ljdk/nashorn/internal/ir/VarNode;)Ljdk/nashorn/internal/ir/Node; defineVarIdent $(Ljdk/nashorn/internal/ir/VarNode;)V ident exceptionSymbol "()Ljdk/nashorn/internal/ir/Symbol; finalizeParameters paramSymbol param newParams isVarArg 5Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>; findSymbol S(Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol; blocks Ljava/util/Iterator; 5Ljava/util/Iterator<Ljdk/nashorn/internal/ir/Block;>; functionUsesGlobalSymbol fns <Ljava/util/Iterator<Ljdk/nashorn/internal/ir/FunctionNode;>; functionUsesScopeSymbol #(Ljdk/nashorn/internal/ir/Symbol;)V ,Ljdk/nashorn/internal/ir/LexicalContextNode; contextNodeIter BLjava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;Ð functionUsesSymbol initCompileConstant S(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/Block;I)V initFunctionWideVariables initParameters scopeParams isLocal I(Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Symbol;)Z definingFn leaveBinaryNode D(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/ir/Node; binaryNode $Ljdk/nashorn/internal/ir/BinaryNode; leaveASSIGN accessNode $Ljdk/nashorn/internal/ir/AccessNode; base $Ljdk/nashorn/internal/ir/Expression; lhs÷ leaveUnaryNode C(Ljdk/nashorn/internal/ir/UnaryNode;)Ljdk/nashorn/internal/ir/Node; unaryNode #Ljdk/nashorn/internal/ir/UnaryNode; leaveDELETE literalNode failDelete property indexNode #Ljdk/nashorn/internal/ir/IndexNode; index currentFunctionNode strictMode rhs strictFlagNode requestI Request -Ljdk/nashorn/internal/ir/RuntimeNode$Request; args 6Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;JI leaveForNode A(Ljdk/nashorn/internal/ir/ForNode;)Ljdk/nashorn/internal/ir/Node; forNode !Ljdk/nashorn/internal/ir/ForNode; leaveFunctionNode F(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node; finalizedFunction leaveIdentNode C(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Node; newIdentNode nameIsUsed W(Ljava/lang/String;Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/Symbol; leaveSwitchNode D(Ljdk/nashorn/internal/ir/SwitchNode;)Ljdk/nashorn/internal/ir/Node; switchNode $Ljdk/nashorn/internal/ir/SwitchNode; leaveTryNode A(Ljdk/nashorn/internal/ir/TryNode;)Ljdk/nashorn/internal/ir/Node; tryNode !Ljdk/nashorn/internal/ir/TryNode; leaveTYPEOF runtimeNode markProgramBlock maybeForceScope newInternal S(Ljdk/nashorn/internal/codegen/CompilerConstants;I)Ljdk/nashorn/internal/ir/Symbol; newObjectInternal R(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol; start !(Ljdk/nashorn/internal/ir/Node;)Z "(Ljdk/nashorn/internal/ir/Node;Z)Z symbolNeedsToBeScope #(Ljdk/nashorn/internal/ir/Symbol;)Z func previousWasBlock isSplitLiteral /(Ljdk/nashorn/internal/ir/LexicalContextNode;)Z expr throwUnprotectedSwitchError msgK throwParserException 3(Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;)V message source %Ljdk/nashorn/internal/runtime/Source; token J line column formatted access$000 P(Ljdk/nashorn/internal/codegen/AssignSymbols;Ljdk/nashorn/internal/ir/VarNode;)V x0 x1 access$100 ?(Ljdk/nashorn/internal/codegen/AssignSymbols;Ljdk/nashorn/internal/ir/Block;Ljava/lang/String;Ljdk/nashorn/internal/ir/Node;I)Ljdk/nashorn/internal/ir/Symbol; x2 x3 x4 <clinit> SourceFile AssignSymbols.java RuntimeVisibleAnnotations -Ljdk/nashorn/internal/runtime/logging/Logger; symbols jdk/nashorn/internal/ir/Symbolst¢L¥|M}MNOPQRSTUVWMXYSZ [\]M^M_S`MaMbcdefghMijB? java/util/ArrayDeque java/util/HashMap"#%&klmHInoMpM'qFr ,jdk/nashorn/internal/codegen/AssignSymbols$1BstuvRTUwxyz{|} !jdk/nashorn/internal/ir/IdentNode~??B????B???PQ(?M java/lang/AssertionError jdk/nashorn/internal/ir/VarNode??B??? java/util/ArrayListB???[\C???M?S?S?M????D?M????? ¡?¢£¤¥¦§¬¨©ªMÀÁ duplicate parameterB?«M syntax.error.redeclare.variable java/lang/String¬®¯?°¥±M²³´{µ¶WX·µ¸j? java/lang/StringBuilder [LEAVE ¹º45 ] F»R in '¹¼ <NO SYMBOL> <symbol=¹½¾? java/lang/Object¿ÀÁMÂM??Ã?ÄÅÆÇÈÉÊGïð??HËeÌcÍSÎϽMLM?MÐM $jdk/nashorn/internal/ir/FunctionNodeÑÒ java/util/HashSetÓ??ÔM¡¢? QeÕ?ÿ ªMÖ ×?¹ØÙÚÛÜ jdk/nashorn/internal/ir/BlockÝÊ *jdk/nashorn/internal/ir/LexicalContextNodeÞÊß àáâM{M±?´µ»¼ãSäS¾MåSæMçèéêëìíîÇÄÃÄÌï "jdk/nashorn/internal/ir/AccessNodeðïñMò? java/util/SetóRôõJö÷ø?ÒÏùÏÎÏùMúïûüý "jdk/nashorn/internal/ir/Expressionþàüÿ Màà !jdk/nashorn/internal/ir/IndexNodeï #jdk/nashorn/internal/ir/RuntimeNodeBMS ? ?¦>d>=>??û> MM?Me Existing symbol = üµ %No symbol exists. Declare as global: ºµMSc¤¥)*üàÑ !ýþ [ENTER '"??M jdk/nashorn/internal/ir/WithNode "jdk/nashorn/internal/ir/Splittable# +syntax.error.unprotected.switch.declaration$M let const ,jdk/nashorn/internal/runtime/ParserExceptionB%&'(?)*T+T,-./01B2 *jdk/nashorn/internal/codegen/AssignSymbols3M 1jdk/nashorn/internal/ir/visitor/SimpleNodeVisitor -jdk/nashorn/internal/runtime/logging/Loggable ,jdk/nashorn/internal/codegen/AssignSymbols$2 java/util/List java/util/ListIterator java/lang/Throwable jdk/nashorn/internal/ir/Node java/util/Iterator !jdk/nashorn/internal/ir/CatchNode +jdk/nashorn/internal/ir/RuntimeNode$Request !jdk/nashorn/internal/ir/UnaryNode [Ljava/lang/String; getSymbol ()Z getClass ()Ljava/lang/Class; java/lang/Class getName ()Ljava/lang/String; lastIndexOf (I)I substring (I)Ljava/lang/String; needsCallee .jdk/nashorn/internal/codegen/CompilerConstants CALLEE compilerConstant setNeedsSlot #(Z)Ljdk/nashorn/internal/ir/Symbol; hasScopeBlock needsParentScope SCOPE isNamedFunctionExpression usesSelfSymbol getBody !()Ljdk/nashorn/internal/ir/Block; getIdent %()Ljdk/nashorn/internal/ir/IdentNode; getExistingSymbol 4(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol; isFunctionSelf clearFlag #(I)Ljdk/nashorn/internal/ir/Symbol; %jdk/nashorn/internal/codegen/Compiler getContext (()Ljdk/nashorn/internal/runtime/Context; 0jdk/nashorn/internal/runtime/logging/DebugLogger isEnabled isOnDemandCompilation $jdk/nashorn/internal/runtime/Context E(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger; N(Ljdk/nashorn/internal/codegen/AssignSymbols;Ljdk/nashorn/internal/ir/Block;)V accept M(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node; symbolName lc (Ljdk/nashorn/internal/ir/LexicalContext; &jdk/nashorn/internal/ir/LexicalContext getCurrentFunction (()Ljdk/nashorn/internal/ir/FunctionNode; setSymbol E(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/IdentNode; getToken ()J getFinish ()I (JILjava/lang/String;)V java/util/Map get &(Ljava/lang/Object;)Ljava/lang/Object; (Ljava/lang/String;I)V put 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; isBytecodeLocal getLineNumber M(IJILjdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/Expression;)V setName F(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/ir/VarNode; (I)V push Z(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode; add (Ljava/lang/Object;)Z needsArguments ARGUMENTS_VAR ARGUMENTS isEmpty pop listIterator ()Ljava/util/ListIterator; hasNext next ()Ljava/lang/Object; set (Ljava/lang/Object;)V getStatements ()Ljava/util/List; size addAll (Ljava/util/Collection;)Z setStatements Y(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/Block; setBody o(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode; getFunction G(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/FunctionNode; isProgram hasBeenDeclared 'jdk/nashorn/internal/runtime/ECMAErrors getMessage 9(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String; setHasBeenDeclared setIsScope isBlockScoped less (I)Z getOutermostFunction getFunctionBody G(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Block; putSymbol setFlags append -(Ljava/lang/String;)Ljava/lang/StringBuilder; toString (C)Ljava/lang/StringBuilder; -(Ljava/lang/Object;)Ljava/lang/StringBuilder; unindent info ([Ljava/lang/Object;)V isFunctionBody hasSymbols getId getScriptFunctionData @(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData; ;jdk/nashorn/internal/runtime/RecompilableScriptFunctionData getExternalSymbolNames ()Ljava/util/Set; iterator ()Ljava/util/Iterator; getException getCurrentBlock EXCEPTION_PREFIX startsWith (Ljava/lang/String;)Z allVarsInScope setFlag 0(Ljdk/nashorn/internal/ir/LexicalContextNode;I)V java/util/Deque isFunctionDeclaration getSymbolFlags getParameters getFlags (I)Ljava/lang/StringBuilder; setParameters `(Ljdk/nashorn/internal/ir/LexicalContext;Ljava/util/List;)Ljdk/nashorn/internal/ir/FunctionNode; getBlocks 5(Ljdk/nashorn/internal/ir/Block;)Ljava/util/Iterator; getFunctions getAllNodes contains setBlockNeedsScope "(Ljdk/nashorn/internal/ir/Block;)V isScope THIS VARARGS RETURN hasSlot getDefiningFunction H(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/FunctionNode; %jdk/nashorn/internal/parser/TokenType ASSIGN 'Ljdk/nashorn/internal/parser/TokenType; "jdk/nashorn/internal/ir/BinaryNode isTokenType *(Ljdk/nashorn/internal/parser/TokenType;)Z &()Ljdk/nashorn/internal/ir/Expression; getBase isThis peek getProperty 0$SwitchMap$jdk$nashorn$internal$parser$TokenType [I tokenType )()Ljdk/nashorn/internal/parser/TokenType; ordinal isStrict getExpression #jdk/nashorn/internal/ir/LiteralNode newInstance F(Ljdk/nashorn/internal/ir/Node;Z)Ljdk/nashorn/internal/ir/LiteralNode; DELETE W(Ljdk/nashorn/internal/ir/Node;Ljava/lang/String;)Ljdk/nashorn/internal/ir/LiteralNode; isProgramLevel FAIL_DELETE SLOW_DELETE getIndex d(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/RuntimeNode$Request;Ljava/util/List;)V jdk/nashorn/internal/ir/ForNode isForIn ITERATOR_PREFIX setIterator k(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/ForNode; applyTopFlags setThisProperties Q(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode; isPropertyName isInitializedHere increaseUseCount isDeclaredHere markDead "jdk/nashorn/internal/ir/SwitchNode isUniqueInteger SWITCH_TAG_PREFIX setTag n(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/SwitchNode; jdk/nashorn/internal/ir/TryNode getFinallyBody setException k(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/TryNode; E(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/LiteralNode; TYPEOF J(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/Block; setSymbolIsScope j(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/Symbol; uniqueName &(Ljava/lang/String;)Ljava/lang/String; indent getSplitRanges isLet (Ljava/lang/String;)V getSource '()Ljdk/nashorn/internal/runtime/Source; getStart #jdk/nashorn/internal/runtime/Source getLine getColumn )jdk/nashorn/internal/runtime/ErrorManager format N(Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;IIJ)Ljava/lang/String; (jdk/nashorn/internal/runtime/JSErrorType SYNTAX_ERROR *Ljdk/nashorn/internal/runtime/JSErrorType; g(Ljdk/nashorn/internal/runtime/JSErrorType;Ljava/lang/String;Ljdk/nashorn/internal/runtime/Source;IIJ)V desiredAssertionStatus 0 ! "# $ %&