CodeGenerator.class
1 ���� 1� BC lD BE BF lG BH ZI �J lK �L lM lN BO BP BQ BR BS BT BU BV BW ZX lY BZ l[ B\ B] l^ B_ l` la Bb Bc Bd Be Bf lg Bh li lj Bk Bl Bm ln Bo Zp Bq Br Bs Zt lu lv Bw Bx By �z B{ B| B} B~ B B� Z� Z� l� l� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� B� l� B� B� B� B� B� B� l� B� B� B� B� B� l� B� l� B� B� B� B� B� B� B� l� l� l� l� B� B� B� B� B� B� B� B� B� B� Z� B� B� B� B� Z� B� B� B� B� Z� B� l� l� B� B� B� B� B� l� l� l� l� Z� l� l� l� l� l� Z� l� B� l� B� l� l� Z� l� Z� l� l� l� l� l� l� l� l� l� l� l� l� �� � � � � � � 2 l 3 � 4 5 � 6 � 7 � 8 9 10 11 � 12 � � 13 14 15 � � 16 �! �" 17 �# 18 �$ �% 19 �& 20 ' �( 21 �) 22 * 23 �+ �� 24 , 25 �- 26 . 27 / 28 0 29 1 30 2 �3 4 31 56 32 �7 �89 33 �: 34 �; 35 �< 36 �= 37 �> 38 ?@ 39 �A B �C D �E 40 F �G �H �I �J 41 K �L 42 M �N 43 O �P 44 Q �R 45 S �T 46 �7 47 �U �V 48 WX 49 50 �Y �Z 51 [ 52 \] 53 ^_` 54 a 55 bcd �e 56 Zf g �hi 57 Zj 58 $k 59 Zl 60 Zm 61 Zn 62 o 63 p 64 q 65 Zr 66 s 67 t 68 Zu 69 vw 70 2l 71 x 72 2m 2y 73 z 74 2r 75 { 76 | } ~ 77 78 � 79 2� 80 Z� 81 � 82 � 83 � 84 Z� � 85 Z- 86 � 87 � �� 88 � 89 � 90 � 91 � 92 � 93 � 94 Z� 95 � 96 � 97 � 98 � 99 Z� 100 ��� 101 ��� 102 Z� � 103 Z� � � 104 � ��� 105 b 106 b� 107 l� 108 l� 109 ��� 110 �� 111 �� �� MIN_LABEL_TABLE_SIZE I ConstantValue MIN_FIXUP_TABLE_SIZE ( compilerEnv )Lorg/mozilla/javascript/CompilerEnvirons; itsInFunctionFlag Z itsInTryFlag itsData (Lorg/mozilla/javascript/InterpreterData; 112 scriptOrFn 'Lorg/mozilla/javascript/ast/ScriptNode; iCodeTop 113 stackDepth 114 lineNumber doubleTableTop strings $Lorg/mozilla/javascript/ObjToIntMap; localTop 115 labelTable [I labelTableTop 116 fixupTable [J fixupTableTop 117 literalIds !Lorg/mozilla/javascript/ObjArray; exceptionTableTop ECF_TAIL <init> ()V Code LineNumberTable LocalVariableTable this &Lorg/mozilla/javascript/CodeGenerator; compile �(Lorg/mozilla/javascript/CompilerEnvirons;Lorg/mozilla/javascript/ast/ScriptNode;Ljava/lang/String;Z)Lorg/mozilla/javascript/InterpreterData; tree encodedSource Ljava/lang/String; returnFunction generateFunctionICode theFunction )Lorg/mozilla/javascript/ast/FunctionNode; generateICodeFromTree (Lorg/mozilla/javascript/Node;)V tmp [B str index iter� Iterator InnerClasses -Lorg/mozilla/javascript/ObjToIntMap$Iterator; [D Lorg/mozilla/javascript/Node; generateNestedFunctions fn gen i functionCount array )[Lorg/mozilla/javascript/InterpreterData; generateRegExpLiterals string flags N cx Lorg/mozilla/javascript/Context; rep $Lorg/mozilla/javascript/RegExpProxy; [Ljava/lang/Object; updateLineNumber node lineno badTree ;(Lorg/mozilla/javascript/Node;)Ljava/lang/RuntimeException; visitStatement !(Lorg/mozilla/javascript/Node;I)V fnIndex fnType local test caseNode !Lorg/mozilla/javascript/ast/Jump; target finallyRegister catchStartPC finallyStartPC tryNode exceptionObjectLocal 118 scopeLocal tryStart savedFlag catchTarget finallyTarget 119 localIndex 120 scopeIndex name initialStackDepth type child visitExpression lastChild argCount callType afterSecondJumpStart jump ifThen ifElse elseJumpStart afterElseJumpStart property num D inum memberTypeFlags 121 childCount queryPC enterWith with contextFlags savedStackDepth generateCallFunAndThis id left visitIncDec =(Lorg/mozilla/javascript/Node;Lorg/mozilla/javascript/Node;)V object ref incrDecrMask childType visitLiteral n count skipIndexes propertyIds visitArrayComprehension Z(Lorg/mozilla/javascript/Node;Lorg/mozilla/javascript/Node;Lorg/mozilla/javascript/Node;)V initStmt expr getLocalBlockRef (Lorg/mozilla/javascript/Node;)I 122 localBlock getTargetLabel label markTargetLabel addGoto gotoPC top gotoOp targetPC fixLabelGotos fixup J 123 jumpSource pc addBackwardGoto (II)V jumpPC fromPC resolveForwardGoto (I)V resolveGoto offset 124 offsetSite addToken token addIcode icode addUint8 value addUint16 addInt getDoubleIndex (D)I na addGotoOp addVarOp op varIndex addStringOp (ILjava/lang/String;)V 125 addIndexOp addStringPrefix (Ljava/lang/String;)V addIndexPrefix addExceptionHandler (IIIZII)V 126 icodeStart icodeEnd handlerStart isFinally table increaseICodeCapacity (I)[B extraSize capacity stackChange newDepth change 127 allocLocal ()I localSlot releaseLocal 128 SourceFile CodeGenerator.java��v�n�n�v�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n�n nnnnnnnnn n 129 nnn nnnnnnnnnnnnnnnnnnn n!n"n#n$n%n&n'n(n)n*n+n,n-n.n/n0n1n2n3n4n5n6n7n8n9n:n;n<n=n>n?n@nAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn[n\n]n^n_n`nanbncndnenfnghninjnknlnmnnn�� "org/mozilla/javascript/ObjToIntMap��� org/mozilla/javascript/ObjArray��st &org/mozilla/javascript/NodeTransformeropqrsz{ &org/mozilla/javascript/InterpreterDatatu=vw "org/mozilla/javascript/ast/AstRootxy�zxy{v����uv 'org/mozilla/javascript/ast/FunctionNode|=}n~yv���w���y�y�v�y�=�����������|n����=�� java/lang/String�����y���=�����n���n���=�n�n�n�n���������=�n�=�n�=�n�����= $org/mozilla/javascript/CodeGenerator�����=������ java/lang/Object����������=~n�n java/lang/RuntimeException�w�,�=����*9������<=�? org/mozilla/javascript/ast/Jump������ wv��./���w+,-��}n���y�n$()�%���� !"�������� org/mozilla/javascript/Node�=�n��n���� org/mozilla/javascript/UintMap�����56�����n org/mozilla/javascript/Icode +org/mozilla/javascript/ObjToIntMap$Iterator org/mozilla/javascript/Token 130 printTrees Icode_GENERATOR RETURN_RESULT 131 printICode 132 Icode_LINE FUNCTION FUNCTION_PROP FUNCTION_EXPRESSION_STATEMENT Icode_CLOSURE_STMT FUNCTION_STATEMENT Icode_CLOSURE_EXPR Icode_POP_RESULT LABEL LOOP BLOCK EMPTY WITH SCRIPT ENTERWITH LEAVEWITH LOCAL_BLOCK 133 LOCAL_PROP Icode_LOCAL_CLEAR DEBUGGER Icode_DEBUGGER SWITCH CASE Icode_DUP SHEQ Icode_IFEQ_POP Icode_POP TARGET IFEQ IFNE GOTO JSR Icode_GOSUB FINALLY Icode_STARTSUB Icode_RETSUB EXPR_VOID EXPR_RESULT TRY Icode_SCOPE_SAVE CATCH_SCOPE CATCH_SCOPE_PROP THROW RETHROW RETURN GENERATOR_END_PROP Icode_GENERATOR_END Icode_RETUNDEF ENUM_INIT_KEYS ENUM_INIT_VALUES ENUM_INIT_ARRAY FUNCTION_EXPRESSION 134 LOCAL_LOAD COMMA USE_STACK REF_CALL CALL NEW SPECIALCALL_PROP NON_SPECIALCALL Icode_CALLSPECIAL Icode_TAIL_CALL AND OR HOOK GETPROP GETPROPNOWARN GETELEM DELPROP BITAND BITOR BITXOR LSH RSH URSH ADD SUB MOD DIV MUL EQ NE SHNE IN 135 INSTANCEOF LE LT GE GT POS NEG NOT BITNOT TYPEOF VOID Icode_UNDEF GET_REF DEL_REF SETPROP 136 SETPROP_OP SETELEM 137 SETELEM_OP 138 Icode_DUP2 SET_REF 139 SET_REF_OP STRICT_SETNAME SETNAME SETCONST Icode_SETCONST 140 TYPEOFNAME Icode_TYPEOFNAME GETVAR BINDNAME NAME STRING INC DEC NUMBER 141 Icode_ZERO Icode_ONE Icode_SHORTNUMBER Icode_INTNUMBER SETVAR SETCONSTVAR NULL THIS THISFN FALSE TRUE ENUM_NEXT ENUM_ID REGEXP REGEXP_PROP ARRAYLIT OBJECTLIT ARRAYCOMP REF_SPECIAL NAME_PROP 142 REF_MEMBER REF_NS_MEMBER REF_NAME REF_NS_NAME MEMBER_TYPE_PROP DOTQUERY Icode_ENTERDQ Icode_LEAVEDQ DEFAULTNAMESPACE 143 ESCXMLATTR 144 ESCXMLTEXT YIELD WITHEXPR Icode_NAME_AND_THIS Icode_PROP_AND_THIS Icode_ELEM_AND_THIS Icode_VALUE_AND_THIS INCRDECR_PROP Icode_VAR_INC_DEC Icode_NAME_INC_DEC Icode_PROP_INC_DEC Icode_ELEM_INC_DEC Icode_REF_INC_DEC OBJECT_IDS_PROP Icode_LITERAL_NEW GET Icode_LITERAL_GETTER SET Icode_LITERAL_SETTER Icode_LITERAL_SET SKIP_INDEXES_PROP Icode_SPARE_ARRAYLIT LOCAL_BLOCK_PROP Icode_SETCONSTVAR1 Icode_SETCONSTVAR Icode_GETVAR1 Icode_SETVAR1 Icode_REG_STR_C0 Icode_REG_STR1 Icode_REG_STR2 Icode_REG_STR4 Icode_REG_IND_C0 Icode_REG_IND1 Icode_REG_IND2 Icode_REG_IND4 "org/mozilla/javascript/Interpreter EXCEPTION_SLOT_SIZE EXCEPTION_TRY_START_SLOT EXCEPTION_TRY_END_SLOT EXCEPTION_HANDLER_SLOT EXCEPTION_TYPE_SLOT EXCEPTION_LOCAL_SLOT EXCEPTION_SCOPE_SLOT transform *(Lorg/mozilla/javascript/ast/ScriptNode;)V %org/mozilla/javascript/ast/ScriptNode getFunctionNode ,(I)Lorg/mozilla/javascript/ast/FunctionNode; 'org/mozilla/javascript/CompilerEnvirons getLanguageVersion getSourceName ()Ljava/lang/String; isInStrictMode ()Z )(ILjava/lang/String;Ljava/lang/String;Z)V topLevel getFunctionType itsFunctionType requiresActivation itsNeedsActivation getFunctionName #()Lorg/mozilla/javascript/ast/Name; getName itsName getIgnoreDynamicScope isUseDynamicScope useDynamicScope isGenerator getBaseLineno getLastChild ()Lorg/mozilla/javascript/Node; itsICode java/lang/System arraycopy *(Ljava/lang/Object;ILjava/lang/Object;II)V size itsStringTable [Ljava/lang/String; newIterator /()Lorg/mozilla/javascript/ObjToIntMap$Iterator; start done getKey ()Ljava/lang/Object; getValue org/mozilla/javascript/Kit codeBug ()Ljava/lang/RuntimeException; next itsDoubleTable itsExceptionTable getParamAndVarCount 145 itsMaxVars itsMaxLocals itsMaxStack itsMaxFrameArray getParamAndVarNames ()[Ljava/lang/String; argNames getParamAndVarConst ()[Z 146 argIsConst [Z getParamCount getEncodedSourceStart encodedSourceStart getEncodedSourceEnd encodedSourceEnd toArray ()[Ljava/lang/Object; getFunctionCount +(Lorg/mozilla/javascript/InterpreterData;)V itsNestedFunctions getRegexpCount org/mozilla/javascript/Context 147 getContext "()Lorg/mozilla/javascript/Context; $org/mozilla/javascript/ScriptRuntime checkRegExpProxy F(Lorg/mozilla/javascript/Context;)Lorg/mozilla/javascript/RegExpProxy; getRegexpString (I)Ljava/lang/String; getRegexpFlags "org/mozilla/javascript/RegExpProxy compileRegExp X(Lorg/mozilla/javascript/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object; itsRegExpLiterals getLineno firstLinePC toString getType getFirstChild getExistingIntProp (I)I getNext 148 putIntProp 149 getFinally getString 150 getIntProp (II)I isGenerateDebugInfo itsMaxCalleeArgs getIndexForNameNode getDouble ()D getProp (I)Ljava/lang/Object; add (Ljava/lang/Object;)V labelId longJumps Lorg/mozilla/javascript/UintMap; put validTokenCode (I)Z 151 validIcode get (Ljava/lang/Object;I)I (Ljava/lang/Object;I)V l mn o p qn o r st uv wv xy z{ |n }n ~n n �� �n �� �n �� �n �� �n �n o � '