Module Expr Str ImportFrom alias identifier ImportFrom alias ImportFrom alias alias ImportFrom alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias alias ImportFrom alias ImportFrom alias ImportFrom alias alias alias alias ImportFrom alias identifier ImportFrom alias ImportFrom alias ImportFrom alias alias Import alias identifier Import alias identifier ImportFrom alias ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Pass decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Pass decorator_list Assign NameStore Dict AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Str TupleLoad ListLoad NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad ListLoad NameLoad Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str TupleLoad ListLoad NameLoad NameLoad keyword NameLoad If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body For TupleStore NameStore NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse Assign NameStore SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Index Num Assert Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assert CompareIs AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr Str Assign NameStore AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr BinOpAdd Str Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Str Raise NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Raise NameLoad decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr ListLoad ListLoad AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr ListLoad ListLoad AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad UnaryOpNot NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Dict decorator_list FunctionDef arguments args NameParam NameParam defaults Str body Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Num orelse Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Num Return Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore ListLoad Assign NameStore ListLoad For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareIs AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Continue Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad Call AttributeLoad AttributeLoad NameLoad attr attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad NameLoad NameLoad keyword UnaryOpNot AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIn NameLoad AttributeLoad NameLoad attr body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore ListLoad TupleLoad NameLoad AttributeLoad NameLoad attr TupleLoad NameLoad AttributeLoad NameLoad attr TupleLoad NameLoad AttributeLoad NameLoad attr For TupleStore NameStore NameStore NameLoad body For NameStore NameLoad body If Call NameLoad NameLoad NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad BinOpAdd Str AttributeLoad NameLoad attr ListLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assert AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assert CompareEq Call NameLoad AttributeLoad NameLoad attr Num Assert CompareEq Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr SubscriptLoad AttributeLoad AttributeLoad NameLoad attr attr Index Num orelse If Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr orelse Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str FunctionDef arguments args NameParam defaults body For NameStore AttributeLoad NameLoad attr body If CompareIn NameLoad AttributeLoad NameLoad attr body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args defaults body If AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr body Return TupleLoad SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num Return TupleLoad SubscriptLoad AttributeLoad NameLoad attr Index Num SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list If AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num While BoolOpAnd CompareEq AttributeLoad NameLoad attr Str Call NameLoad SubscriptLoad AttributeLoad NameLoad attr Index Num NameLoad body Assign NameStore AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr If BoolOpAnd CompareIsNot AttributeLoad NameLoad attr NameLoad CompareIs AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr CompareIs AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index Num attr AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr For NameStore SubscriptLoad AttributeLoad NameLoad attr Slice Num body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpMod Str NameLoad For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign TupleStore NameStore NameStore Call NameLoad Assign NameStore Call AttributeLoad NameLoad attr Str Expr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Return Return Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIn AttributeLoad AttributeLoad NameLoad attr attr TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Return Assign TupleStore NameStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr NameLoad Return Assign NameStore ListLoad For NameStore Call NameLoad NameLoad BinOpAdd NameLoad Num body Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad SubscriptLoad NameLoad Index Num Expr Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If CompareIsNot AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body If NameLoad body AugAssignAdd NameStore Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIn AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return NameLoad If Call NameLoad AttributeLoad NameLoad attr TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Return NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body If BoolOpAnd NameLoad Call AttributeLoad NameLoad attr NameLoad body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr BinOpAdd BinOpAdd Str NameLoad Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assert Call NameLoad NameLoad NameLoad Assign AttributeStore NameLoad attr BinOpAdd ListLoad NameLoad Call NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Str Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str SubscriptLoad AttributeLoad NameLoad attr Slice Num AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Raise Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assert Call NameLoad AttributeLoad NameLoad attr NameLoad If CompareEq NameLoad Str body Return AttributeLoad NameLoad attr Raise Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assert Call NameLoad AttributeLoad NameLoad attr NameLoad For NameStore NameLoad body If Call AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Num AttributeLoad NameLoad attr body Break orelse Assign NameStore NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str ListLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr keyword NameLoad Expr Call AttributeLoad NameLoad attr If BoolOpAnd NameLoad BoolOpOr CompareNotEq AttributeLoad NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Slice Num CompareNotEq AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign NameStore BinOpAdd ListLoad NameLoad Call NameLoad AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str ListLoad NameLoad NameLoad Assign NameStore Num For TupleStore NameStore NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad If CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad AugAssignAdd NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assert CompareEq NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad NameLoad Str If NameLoad body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Str TupleLoad AttributeLoad NameLoad attr NameLoad orelse Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If BoolOpAnd AttributeLoad NameLoad attr CompareEq NameLoad AttributeLoad AttributeLoad NameLoad attr attr body Return AttributeLoad NameLoad attr Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If BoolOpAnd AttributeLoad NameLoad attr CompareEq NameLoad Str body Return AttributeLoad NameLoad attr Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Assert BoolOpAnd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str ListLoad TupleLoad AttributeLoad NameLoad attr NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Num Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str ListLoad AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr If AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad Num Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr For NameStore Call NameLoad Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr body If UnaryOpNot NameLoad body Continue Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr Dict decorator_list FunctionDef arguments args NameParam NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr keyword NameLoad FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad keyword NameLoad Expr Call AttributeLoad NameLoad attr decorator_list For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call NameLoad NameLoad For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call NameLoad AttributeLoad NameLoad attr Expr Call NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr Dict Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str If CompareEq NameLoad Num body Return AttributeLoad NameLoad attr Return SubscriptLoad AttributeLoad NameLoad attr Slice BinOpAdd NameLoad Num decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad If BoolOpAnd AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assert BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr Call NameLoad NameLoad AttributeLoad NameLoad attr Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assert BoolOpAnd UnaryOpNot AttributeLoad NameLoad attr Call NameLoad NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareIn NameLoad AttributeLoad NameLoad attr body Return SubscriptLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Index Num Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareIn NameLoad AttributeLoad NameLoad attr body Return Call AttributeLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad attr If CompareIn NameLoad AttributeLoad NameLoad attr body Return SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assert CompareNotIn AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr For TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Num Expr Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr NameLoad For NameStore Call AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad If Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr body Assign AttributeStore NameLoad attr NameLoad orelse Assign AttributeStore NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore BinOpAdd ListLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr TupleLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Num For NameStore AttributeLoad AttributeLoad NameLoad attr attr body Expr Call AttributeLoad NameLoad attr NameLoad NameLoad AugAssignAdd NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr decorator_list decorator_list
N/A N/A 
Nodes describe Java structures that we are building.  They know how to
render themselves so as to build the java structure they describe.
They are entered onto the database worklist as we go.

Some nodes describe parts of the JVM structure that already exist ---
for example, there are nodes that are used to describe built-in JVM
types like String, etc.  In this case, they are never placed on the
database worklist, and don't know how to render themselves (since they
don't have to).

Nodes representing classes that we will build also implement the JvmType
interface defined by database.JvmType.
 pypy.objspace.flow model flowmodel pypy.rpython.lltypesystem lltype pypy.rpython.ootypesystem ootype rclass pypy.translator.jvm.typesystem JvmGeneratedClassType jString jStringArray jVoid jThrowable jInt jObject JvmType jStringBuilder jPyPyInterlink jCallbackInterfaces JvmGeneratedInterfaceType jPyPy jPyPyAbstractMethodException jPyPyThrowable OBJECTGETCLASS pypy.translator.jvm.opcodes opcodes pypy.translator.jvm.option getoption pypy.translator.jvm.methods BaseDumpMethod InstanceDumpMethod RecordDumpMethod ConstantStringDumpMethod pypy.translator.oosupport.function Function OOFunction pypy.translator.oosupport.constant push_constant pypy.translator.oosupport.treebuilder SubOperation pypy.translator.jvm.cmpopcodes can_branch_directly branch_if N/A pypy.translator.jvm.typesystem jvm N/A pypy.translator.jvm.typesystem jvmtype pypy.translator.jvm.log log Node N/A object N/A set_db N/A N/A self db N/A N/A N/A N/A self db db N/A dependencies N/A N/A self N/A N/A N/A N/A N/A EntryPoint N/A Node N/A N/A 
    A special node that generates the pypy.Main class which has a static
    main method.  Can be configured with a number of options for internal
    testing (see __init__)
     __init__ N/A N/A self graph expandargs printresult N/A N/A N/A 
        'graph' --- The initial graph to invoke from main()
        'expandargs' --- controls whether the arguments passed to main()
        are passed as a list, or expanded to match each argument to the graph
        'printresult' --- controls whether the result is printed to stdout
        when the program finishes

        The 'expandargs' option deserves explanation:
        
          it will be false for a standalone build, because in that
          case we want to convert the String[] array that main() receives
          into a corresponding python List of string objects.

          it will (generally) be true when compiling individual
          functions, in which case we might be compiling an entry
          point with a signature like (a:int,b:float) in which case
          argv[1] should be converted to an integer, and argv[2]
          should be converted to a float.
         N/A N/A self graph graph N/A N/A self expand_arguments expandargs N/A N/A self print_result printresult N/A N/A N/A _type_conversion_methods N/A N/A ootype Signed N/A ootype Unsigned N/A lltype SignedLongLong N/A lltype UnsignedLongLong N/A ootype Bool N/A ootype Float N/A ootype Char N/A ootype UniChar N/A ootype String N/A jvm PYPYSTRTOINT N/A jvm PYPYSTRTOUINT N/A jvm PYPYSTRTOLONG N/A jvm PYPYSTRTOULONG N/A jvm PYPYSTRTOBOOL N/A jvm PYPYSTRTODOUBLE N/A jvm PYPYSTRTOCHAR N/A jvm PYPYSTRTOCHAR None render N/A N/A self gen N/A N/A N/A N/A N/A gen begin_class N/A N/A gen db jPyPyMain jObject N/A N/A N/A gen add_field N/A N/A gen db pypy_field N/A N/A N/A gen add_field N/A N/A gen db interlink_field N/A N/A N/A gen begin_function <clinit> N/A N/A jVoid static True N/A N/A N/A gen emit N/A jvm NEW jPyPy N/A N/A N/A gen emit N/A jvm DUP N/A N/A N/A gen new_with_jtype N/A N/A gen db jInterlinkImplementation N/A N/A N/A gen emit N/A jvm DUP N/A N/A N/A N/A N/A gen db interlink_field store gen N/A N/A N/A gen emit N/A N/A N/A jvm Method c jPyPy N/A jPyPyInterlink N/A N/A N/A N/A N/A gen db pypy_field store gen N/A N/A N/A N/A N/A gen db constant_generator runtime_init gen N/A N/A N/A gen return_val jVoid N/A N/A N/A gen end_function N/A N/A N/A gen begin_function main N/A N/A jStringArray jVoid static True N/A N/A self print_result N/A N/A N/A N/A gen begin_try N/A N/A self expand_arguments N/A N/A N/A i arg N/A enumerate N/A N/A N/A self graph getargs N/A N/A jty N/A N/A N/A self db lltype_to_cts N/A arg concretetype N/A conv N/A N/A self _type_conversion_methods N/A N/A arg concretetype N/A conv N/A N/A N/A N/A gen push_pypy N/A N/A N/A gen load_jvm_var jStringArray 0 N/A N/A N/A gen emit N/A jvm ICONST i N/A N/A N/A gen load_from_array jString N/A conv N/A N/A N/A N/A gen emit conv N/A N/A arg0 N/A N/A N/A N/A self graph getargs N/A 0 N/A N/A isinstance N/A arg0 concretetype N/A ootype List N/A str N/A arg0 concretetype N/A N/A N/A N/A arg0 concretetype ITEM N/A ootype String N/A N/A N/A gen load_jvm_var jStringArray 0 N/A N/A N/A gen emit N/A jvm PYPYARRAYTOLIST N/A N/A N/A gen emit N/A N/A N/A self db pending_function N/A self graph N/A N/A self print_result N/A N/A done_printing N/A N/A gen unique_label done_printing N/A RESOOTYPE N/A N/A N/A N/A self graph getreturnvar concretetype N/A dumpmethod N/A N/A N/A self db toString_method_for_ootype RESOOTYPE N/A N/A N/A gen add_comment N/A Invoking dump method for result of type  N/A str RESOOTYPE N/A N/A N/A gen emit dumpmethod N/A N/A N/A gen emit N/A jvm PYPYDUMP N/A N/A N/A gen goto done_printing N/A N/A N/A gen end_try N/A N/A N/A gen begin_catch jPyPyThrowable N/A N/A N/A gen emit N/A jvm PYPYDUMPEXCWRAPPER N/A N/A N/A gen end_catch N/A N/A N/A gen mark done_printing N/A N/A N/A gen return_val jVoid N/A N/A N/A gen end_function N/A N/A N/A gen end_class N/A N/A Function N/A object N/A N/A  A generic interface for Function objects; these objects can
    be added as methods of classes and rendered.  This class serves
    only as documentation.  N/A name None render N/A N/A self gen N/A N/A N/A  Uses the gen argument, a jvm.Generator, to create the
        appropriate JVM assembly for this method.  N/A NotImplementedError N/A method N/A N/A self N/A N/A N/A  Returns a jvm.Method object that would allow this
        function to be invoked.  N/A NotImplementedError N/A N/A GetterFunction N/A Function N/A __init__ N/A N/A self db cls_obj method_obj field_obj N/A N/A N/A N/A self db db N/A N/A self name N/A method_obj method_name N/A N/A self cls_obj cls_obj N/A N/A self method_obj method_obj N/A N/A self field_obj field_obj N/A method N/A N/A self N/A N/A N/A N/A self method_obj N/A render N/A N/A self gen N/A N/A N/A N/A N/A gen begin_function N/A N/A self method_obj method_name N/A N/A N/A self cls_obj N/A N/A self field_obj jtype N/A N/A N/A gen load_this_ptr N/A N/A N/A N/A self field_obj load gen N/A N/A N/A gen return_val N/A N/A self field_obj jtype N/A N/A N/A gen end_function N/A N/A PutterFunction N/A Function N/A __init__ N/A N/A self db cls_obj method_obj field_obj N/A N/A N/A N/A self db db N/A N/A self cls_obj cls_obj N/A N/A self method_obj method_obj N/A N/A self field_obj field_obj N/A method N/A N/A self N/A N/A N/A N/A self method_obj N/A render N/A N/A self gen N/A N/A N/A N/A N/A gen begin_function N/A N/A self method_obj method_name N/A N/A N/A self cls_obj N/A N/A self field_obj jtype jVoid N/A N/A N/A gen load_this_ptr N/A N/A N/A gen load_function_argument 1 N/A N/A N/A N/A self field_obj store gen N/A N/A N/A gen return_val jVoid N/A N/A N/A gen end_function N/A N/A GraphFunction N/A OOFunction Function N/A N/A  Represents a function that is generated from a graph.  N/A is_final False __init__ N/A N/A self db classty name jargtypes jrettype graph is_static N/A N/A N/A 
        classty: the JvmClassType object this is a part of (even static
        functions have a class)
        name: the name of the function
        jargtypes: JvmType of each argument
        jrettype: JvmType this function returns
        graph: the graph representing the body of the function
        is_static: boolean flag indicate whether func is static (!)
         N/A N/A N/A OOFunction __init__ self db graph name N/A is_static N/A N/A self classty classty N/A N/A self jargtypes jargtypes N/A N/A self jrettype jrettype N/A N/A self _block_labels N/A N/A next_label N/A N/A self prefix N/A label N/A N/A N/A N/A N/A self generator unique_label prefix N/A method N/A N/A self N/A N/A N/A  Returns a jvm.Method that can invoke this function  N/A N/A N/A self is_method N/A N/A ctor N/A N/A jvm Method s N/A startidx 0 N/A N/A ctor N/A N/A jvm Method v N/A startidx 1 N/A N/A ctor N/A self classty N/A self name N/A N/A self jargtypes N/A startidx N/A self jrettype N/A begin_render N/A N/A self N/A N/A N/A lltype_to_cts N/A N/A self db lltype_to_cts N/A jargvars N/A N/A jargtypes N/A N/A arg N/A N/A N/A self graph getargs N/A N/A N/A N/A arg concretetype N/A ootype Void N/A N/A N/A N/A N/A jargvars append arg N/A N/A N/A jargtypes append N/A lltype_to_cts N/A arg concretetype N/A jrettype N/A lltype_to_cts N/A N/A N/A N/A self graph getreturnvar concretetype N/A N/A N/A N/A self ilasm begin_function N/A self name jargvars jargtypes jrettype static N/A N/A self is_method final N/A self is_final N/A end_render N/A N/A self N/A N/A N/A N/A N/A N/A self ilasm end_function N/A _create_generator N/A N/A self ilasm N/A N/A N/A ilasm N/A _get_block_name N/A N/A self block N/A N/A N/A N/A block N/A self _block_labels N/A N/A N/A N/A self _block_labels N/A block N/A blocklbl N/A N/A N/A self ilasm unique_label BasicBlock N/A N/A N/A self _block_labels N/A block blocklbl N/A blocklbl N/A set_label N/A N/A self blocklbl N/A N/A N/A N/A N/A N/A self ilasm mark blocklbl N/A begin_try N/A N/A self cond N/A N/A N/A cond N/A N/A N/A N/A N/A self ilasm begin_try N/A end_try N/A N/A self exit_label cond N/A N/A N/A N/A N/A N/A self ilasm branch_unconditionally exit_label N/A cond N/A N/A N/A N/A N/A self ilasm end_try N/A introduce_exception_conversions N/A N/A self llexitcases N/A N/A N/A translation_table N/A N/A ZeroDivisionError N/A jvmtype jArithmeticException N/A RuntimeError N/A jvmtype jStackOverflowError N/A MemoryError N/A jvmtype jOutOfMemoryError N/A N/A pyexccls jexcty translation_table N/A N/A llexitcase llexitcases N/A N/A N/A issubclass llexitcase pyexccls N/A N/A N/A N/A N/A self ilasm begin_catch jexcty N/A N/A N/A N/A self ilasm push_interlink N/A interlink_method N/A N/A N/A jvm Method v jPyPyInterlink N/A throw N/A pyexccls __name__ N/A jVoid N/A N/A N/A N/A self ilasm emit interlink_method N/A N/A N/A N/A self ilasm emit N/A jvm ACONST_NULL N/A N/A N/A N/A self ilasm emit N/A jvm ATHROW N/A N/A N/A N/A self ilasm end_try N/A begin_catch N/A N/A self llexitcase N/A N/A N/A ll_meta_exc llexitcase N/A ll_exc N/A ll_meta_exc _INSTANCE N/A jtype N/A N/A N/A self cts lltype_to_cts ll_exc N/A N/A jtype throwable N/A N/A N/A N/A self ilasm begin_catch jtype N/A end_catch N/A N/A self exit_lbl N/A N/A N/A N/A N/A N/A self ilasm goto exit_lbl N/A N/A N/A N/A self ilasm end_catch N/A store_exception_and_link N/A N/A self link N/A N/A N/A N/A N/A self _is_raise_block N/A link target N/A N/A N/A N/A len N/A link args 2 N/A N/A N/A len N/A N/A link target inputargs 2 N/A N/A N/A N/A self ilasm store N/A N/A N/A link target inputargs N/A 1 N/A N/A N/A isinstance N/A link last_exception N/A flowmodel Variable N/A N/A N/A N/A N/A self ilasm dup_jtype jPyPyThrowable N/A N/A N/A N/A self ilasm store N/A link last_exc_value N/A N/A N/A N/A self ilasm emit OBJECTGETCLASS N/A N/A N/A N/A self ilasm store N/A link last_exception N/A N/A N/A N/A N/A self ilasm store N/A link last_exc_value N/A N/A N/A self _setup_link link N/A render_normal_block N/A N/A self block N/A N/A N/A 
        Overload OOFunction.render_normal_block: we intercept blocks where the
        exitcase tests a bool variable with one use so as to generate more
        efficient code.  For example, the naive code generation for a test
        like 'if x < y' yields something like:
        
           push x
           push y
           jump_if_less_than true
        false:
           push 0
           jump done
        true:
           push 1
        done:
           store_into_local_var
           load_from_local_var
           jump_if_true true_destination
           jump false_destination

        when it could (should) be

           push x
           push y
           jump_if_less_than true_destination
           jump false_destination
         not_in_link_args N/A N/A v N/A N/A N/A link N/A block exits N/A N/A N/A v N/A link args N/A N/A False N/A True N/A true_false_exits N/A N/A N/A N/A N/A N/A N/A N/A block exits N/A 0 exitcase N/A N/A N/A N/A N/A block exits N/A 0 N/A N/A block exits N/A 1 N/A N/A N/A N/A block exits N/A 1 N/A N/A block exits N/A 0 N/A N/A N/A block operations N/A N/A last_op N/A N/A block operations N/A -1 N/A N/A N/A N/A last_op opname same_as N/A isinstance N/A N/A last_op args N/A 0 SubOperation N/A N/A last_op N/A N/A N/A last_op args N/A 0 op N/A N/A N/A N/A block exitswitch None N/A N/A N/A block exitswitch concretetype N/A ootype Bool N/A N/A N/A N/A block operations N/A -1 result N/A block exitswitch N/A can_branch_directly N/A last_op opname N/A not_in_link_args N/A block exitswitch N/A N/A N/A N/A N/A self generator add_comment N/A short-circuit final comparison on %s, block has %d ops N/A N/A block exitswitch N/A len N/A block operations N/A op N/A N/A block operations N/A -1 N/A N/A N/A N/A self _render_op op N/A N/A N/A N/A self generator add_comment N/A inlining comparison: %r last_op N/A arg N/A last_op args N/A N/A N/A N/A N/A self ilasm load arg N/A N/A truelink falselink N/A true_false_exits N/A true_label N/A N/A self next_label link_true N/A N/A branch_if N/A self ilasm N/A last_op opname true_label N/A N/A N/A self _follow_link falselink N/A N/A N/A self set_label true_label N/A N/A N/A self _follow_link truelink N/A N/A N/A N/A OOFunction render_normal_block self block N/A render_numeric_switch N/A N/A self block N/A N/A N/A N/A N/A N/A block exitswitch concretetype N/A N/A ootype SignedLongLong N/A ootype UnsignedLongLong N/A N/A N/A N/A self render_numeric_switch_naive block N/A N/A N/A cases min_case max_case default N/A N/A self _collect_switch_cases block N/A is_sparse N/A N/A self _is_sparse_switch cases min_case max_case N/A is_sparse N/A N/A N/A N/A log WARNING TODO: use lookupswitch to render sparse numeric_switches N/A N/A N/A self render_numeric_switch_naive block N/A N/A targets N/A N/A i N/A xrange min_case N/A max_case 1 N/A N/A N/A link lbl N/A N/A cases get i default N/A N/A N/A targets append lbl N/A N/A N/A N/A self generator load N/A block exitswitch N/A N/A N/A N/A self generator emit_tableswitch min_case targets N/A default N/A 1 N/A N/A N/A self render_switch_case default N/A N/A link lbl N/A N/A cases itervalues N/A N/A N/A N/A self render_switch_case link lbl N/A render_return_block N/A N/A self block N/A N/A N/A return_var N/A N/A block inputargs N/A 0 N/A return_ty N/A N/A N/A self db lltype_to_cts N/A return_var concretetype N/A N/A N/A return_var concretetype N/A ootype Void N/A N/A N/A N/A N/A self ilasm load return_var N/A N/A N/A N/A self ilasm return_val return_ty N/A render_raise_block N/A N/A self block N/A N/A N/A exc N/A N/A block inputargs N/A 1 N/A N/A N/A N/A self ilasm load exc N/A jtype N/A N/A N/A self db lltype_to_cts N/A exc concretetype N/A N/A N/A jtype throwable N/A N/A N/A N/A N/A self ilasm downcast_jtype jThrowable N/A N/A N/A N/A self ilasm throw N/A _trace N/A N/A self str writeline N/A False N/A N/A writeline N/A N/A str N/A N/A N/A N/A jvm SYSTEMERR load N/A self generator N/A N/A N/A N/A self generator load_string str N/A N/A N/A N/A jvm PRINTSTREAMPRINTSTR invoke N/A self generator N/A _is_printable N/A N/A self res N/A N/A N/A N/A N/A res concretetype N/A N/A ootype Instance N/A ootype Signed N/A ootype Unsigned N/A ootype SignedLongLong N/A ootype UnsignedLongLong N/A ootype Bool N/A ootype Float N/A ootype Char N/A ootype UniChar N/A ootype String N/A ootype StringBuilder N/A ootype Class N/A N/A True N/A N/A isinstance N/A res concretetype N/A N/A ootype Instance N/A ootype Record N/A ootype List N/A ootype Dict N/A ootype DictItemsIterator N/A N/A True N/A False N/A _trace_value N/A N/A self prompt res N/A N/A N/A N/A res N/A N/A self _is_printable res N/A N/A jmethod N/A N/A N/A self db toString_method_for_ootype N/A res concretetype N/A N/A N/A self _trace N/A N/A prompt :  N/A N/A N/A N/A self generator emit N/A jvm SYSTEMERR N/A N/A N/A N/A self generator load res N/A N/A N/A N/A self generator emit jmethod N/A N/A N/A N/A self generator emit N/A jvm PRINTSTREAMPRINTSTR N/A N/A N/A self _trace N/A _trace_enabled N/A N/A self N/A N/A N/A N/A getoption trace N/A _render_op N/A N/A self op N/A N/A N/A N/A N/A N/A self generator add_comment N/A str op N/A N/A N/A OOFunction _render_op self op N/A N/A StaticMethodInterface N/A Node JvmGeneratedClassType N/A N/A 
    We generate an abstract base class when we need function pointers,
    which correspond to constants of StaticMethod ootype.  We need a
    different interface for each different set of argument/return
    types. These abstract base classes look like:

    abstract class Foo {
      public abstract ReturnType invoke(Arg1, Arg2, ...);
    }

    Depending on the signature of Arg1, Arg2, and ReturnType, this
    abstract class may have additional methods and may implement
    interfaces such as PyPy.Equals or PyPy.HashCode.  This is to allow
    it to interface with the the standalone Java code.  See
    the pypy.Callback interface for more information.    
     __init__ N/A N/A self name jargtypes jrettype N/A N/A N/A 
        argtypes: list of JvmTypes
        rettype: JvmType
         N/A N/A N/A JvmGeneratedClassType __init__ self name N/A N/A isinstance jrettype JvmType N/A N/A self java_argument_types N/A N/A self N/A list jargtypes N/A N/A self java_return_type jrettype N/A N/A self dump_method N/A ConstantStringDumpMethod self StaticMethodInterface N/A N/A self invoke_method_obj N/A N/A N/A jvm Method v self invoke N/A N/A self java_argument_types N/A 1 N/A self java_return_type N/A lookup_field N/A N/A self fieldnm N/A N/A N/A N/A KeyError fieldnm N/A lookup_method N/A N/A self methodnm N/A N/A N/A  Given the method name, returns a jvm.Method object  N/A N/A isinstance N/A self java_return_type JvmType N/A N/A methodnm invoke N/A N/A N/A self invoke_method_obj N/A N/A KeyError methodnm N/A render N/A N/A self gen N/A N/A N/A N/A isinstance N/A self java_return_type JvmType N/A jci jCallbackInterfaces N/A N/A N/A N/A jci matches N/A N/A self java_argument_types N/A 1 N/A self java_return_type N/A N/A N/A N/A jci None N/A N/A N/A gen begin_class self jObject abstract True N/A jci N/A N/A N/A N/A gen implements jci N/A N/A N/A gen begin_constructor N/A N/A N/A gen end_constructor N/A N/A N/A gen begin_function invoke N/A N/A self java_argument_types N/A self java_return_type abstract True N/A N/A N/A gen end_function N/A N/A jci N/A N/A N/A jci java_argument_types N/A N/A self java_argument_types N/A 1 N/A N/A jci java_return_type N/A self java_return_type N/A N/A jci_jargs N/A N/A self N/A list N/A jci java_argument_types N/A jci_ret N/A jci java_return_type N/A N/A N/A gen begin_function invoke N/A jci_jargs jci_ret N/A idx 0 N/A N/A jci_arg self_arg N/A zip jci_jargs N/A self java_argument_types N/A N/A N/A N/A gen load_jvm_var jci_arg idx N/A N/A jci_arg self_arg N/A N/A N/A N/A gen prepare_generic_result_with_jtype self_arg N/A idx N/A N/A N/A jci_arg descriptor type_width N/A N/A N/A gen emit N/A self invoke_method_obj N/A N/A jci_ret N/A self java_return_type N/A N/A N/A gen return_val jci_ret N/A N/A N/A gen end_function N/A N/A N/A gen end_class N/A N/A StaticMethodImplementation N/A Node JvmGeneratedClassType N/A N/A 
    In addition to the StaticMethodInterface, we must generate an
    implementation for each specific method that is called.  These
    implementation objects look like:

    class Bar extends Foo {
        public ReturnType invoke(Arg1, Arg2) {
          return SomeStaticClass.StaticMethod(Arg1, Arg2);
        }
    }

    If the bound_to_jty argument is not None, then this class
    represents a bound method, and looks something like:

    class Bar extends Foo {
        Qux bound_to;
        public static Bar bind(Qux to) {
          Bar b = new Bar();
          b.bound_to = to;
          return b;
        }
        public ReturnType invoke(Arg1, Arg2) {
          return bound_to.SomeMethod(Arg1, Arg2);
        }
    }
     __init__ N/A N/A self name super_class bound_to_jty impl_method N/A N/A N/A N/A N/A JvmGeneratedClassType __init__ self name N/A N/A self super_class super_class N/A N/A self impl_method impl_method N/A N/A self dump_method N/A ConstantStringDumpMethod self StaticMethodImplementation N/A bound_to_jty N/A N/A N/A self bound_to_jty bound_to_jty N/A N/A self bound_to_fld N/A N/A jvm Field N/A self name bound_to bound_to_jty False N/A N/A self bind_method N/A N/A N/A jvm Method s self bind N/A N/A self bound_to_jty self N/A N/A N/A self bound_to_jty None N/A N/A self bound_to_fld None N/A N/A self bind_method None N/A lookup_field N/A N/A self fieldnm N/A N/A N/A N/A N/A self bound_to_fld N/A fieldnm N/A N/A self bound_to_fld name N/A N/A N/A self bound_to_fld N/A N/A N/A N/A self super_class lookup_field fieldnm N/A lookup_method N/A N/A self methodnm N/A N/A N/A N/A N/A self bind_method N/A methodnm bind N/A N/A N/A self bind_method N/A N/A N/A N/A self super_class lookup_method methodnm N/A render N/A N/A self gen N/A N/A N/A N/A N/A gen begin_class self N/A self super_class N/A N/A self bound_to_fld N/A N/A N/A N/A gen add_field N/A self bound_to_fld N/A N/A N/A gen begin_constructor N/A N/A N/A gen end_constructor N/A N/A self bound_to_jty N/A N/A N/A N/A self bound_to_fld N/A self bind_method N/A N/A N/A gen begin_function bind N/A N/A N/A self bound_to_jty self static True N/A N/A N/A gen new_with_jtype self N/A N/A N/A gen emit N/A jvm DUP N/A N/A N/A gen load_jvm_var N/A self bound_to_jty 0 N/A N/A N/A N/A self bound_to_fld store gen N/A N/A N/A gen return_val self N/A N/A N/A gen end_function N/A N/A N/A gen begin_function invoke N/A N/A N/A self super_class java_argument_types N/A N/A self super_class java_return_type N/A N/A self bound_to_fld N/A N/A N/A N/A gen load_jvm_var self 0 N/A N/A N/A gen emit N/A self bound_to_fld N/A i N/A range N/A len N/A N/A self super_class java_argument_types N/A N/A N/A i N/A N/A N/A N/A N/A gen load_function_argument i N/A N/A N/A gen emit N/A self impl_method N/A N/A N/A gen return_val N/A N/A self super_class java_return_type N/A N/A N/A gen end_function N/A N/A N/A gen end_class N/A N/A Interface N/A Node JvmGeneratedInterfaceType N/A N/A 
    Represents an interface to be generated.  The only class that we
    currently generate into an interface is ootype.ROOT.
     __init__ N/A N/A self name N/A N/A N/A N/A N/A JvmGeneratedInterfaceType __init__ self name N/A N/A self super_class jObject N/A N/A self rendered False N/A N/A self properties N/A N/A N/A self methods N/A N/A lookup_field N/A N/A self fieldnm N/A N/A N/A N/A N/A self properties N/A fieldnm N/A lookup_method N/A N/A self methodnm N/A N/A N/A N/A N/A self methods N/A methodnm N/A add_property N/A N/A self prop N/A N/A N/A N/A N/A self properties N/A N/A prop field_name prop N/A add_method N/A N/A self method N/A N/A N/A N/A N/A self methods N/A N/A method name method N/A render N/A N/A self gen N/A N/A N/A N/A self rendered True N/A N/A N/A gen begin_class self N/A self super_class interface True emit_method N/A N/A method N/A N/A N/A N/A N/A gen begin_j_function self method abstract True N/A N/A N/A gen end_function N/A N/A method N/A N/A N/A self methods values N/A N/A N/A emit_method method N/A prop N/A N/A N/A self properties values N/A N/A N/A emit_method N/A prop get_method N/A N/A emit_method N/A prop put_method N/A N/A N/A gen end_class N/A N/A Class N/A Node JvmGeneratedClassType N/A N/A  Represents a class to be emitted.  Note that currently, classes
    are emitted all in one shot, not piecemeal.  __init__ N/A N/A self name supercls N/A None N/A N/A 
        'name' should be a fully qualified Java class name like
        "java.lang.String", supercls is a Class object
         N/A N/A N/A JvmGeneratedClassType __init__ self name N/A N/A self rendered False N/A N/A self fields N/A N/A N/A self interfaces N/A N/A N/A self methods N/A N/A N/A self abstract_methods N/A N/A N/A N/A self set_super_class supercls N/A simple_name N/A N/A self N/A N/A N/A dot N/A N/A N/A self name rfind . N/A N/A dot -1 N/A N/A N/A self name N/A N/A N/A self name N/A N/A dot 1 N/A set_super_class N/A N/A self supercls N/A N/A N/A N/A self super_class supercls N/A N/A N/A self super_class N/A N/A self super_class throwable N/A N/A N/A self throwable True N/A add_field N/A N/A self fieldobj fielddef N/A N/A N/A  Creates a new field accessed via the jvm.Field
        descriptor 'fieldobj'.  Must be called before render(). N/A N/A N/A N/A self rendered N/A isinstance fieldobj N/A jvm Field N/A N/A N/A self fields N/A N/A fieldobj field_name N/A fieldobj fielddef N/A add_interface N/A N/A self inter N/A N/A N/A N/A N/A N/A self rendered N/A isinstance inter JvmType N/A N/A N/A N/A self interfaces append inter N/A lookup_field N/A N/A self fieldnm N/A N/A N/A N/A fieldnm N/A self fields N/A N/A N/A N/A N/A self fields N/A fieldnm N/A 0 N/A N/A N/A N/A self super_class lookup_field fieldnm N/A lookup_method N/A N/A self methodnm N/A N/A N/A  Given the method name, returns a jvm.Method object  N/A N/A methodnm N/A self methods N/A N/A N/A N/A N/A N/A self methods N/A methodnm method N/A N/A methodnm N/A self abstract_methods N/A N/A N/A N/A self abstract_methods N/A methodnm N/A N/A N/A N/A self super_class lookup_method methodnm N/A add_method N/A N/A self func N/A N/A N/A  Creates a new method in this class, represented by the
        Function object 'func'.  Must be called before render();
        intended to be invoked by the database.  Note that some of these
        'methods' may actually represent static functions.  N/A N/A N/A self methods N/A N/A func name func N/A add_abstract_method N/A N/A self jmethod N/A N/A N/A  Adds an abstract method to our list of methods; jmethod should
        be a jvm.Method object  N/A N/A N/A jmethod method_name N/A self methods N/A N/A N/A self abstract_methods N/A N/A jmethod method_name jmethod N/A render N/A N/A self gen N/A N/A N/A N/A self rendered True N/A N/A N/A gen begin_class self N/A self super_class N/A inter N/A self interfaces N/A N/A N/A N/A gen implements inter N/A N/A field fielddef N/A N/A N/A self fields values N/A N/A N/A N/A gen add_field field N/A N/A N/A gen begin_constructor N/A N/A field f_default N/A N/A N/A self fields values N/A N/A N/A N/A field jtype jVoid N/A N/A N/A N/A gen load_jvm_var self 0 N/A N/A push_constant N/A gen db N/A field OOTYPE f_default gen N/A N/A N/A field store gen N/A N/A N/A gen end_constructor N/A method N/A N/A N/A self methods values N/A N/A N/A N/A method render gen N/A method N/A N/A N/A self abstract_methods values N/A N/A N/A N/A gen begin_j_function self method N/A N/A N/A gen new_with_jtype jPyPyAbstractMethodException N/A N/A N/A gen throw N/A N/A N/A gen end_function N/A N/A N/A gen end_class N/A N/A InterlinkFunction N/A Function N/A N/A 
    Used for methods of the interlink helper class that we generate.
    Generates a method which takes no arguments and which invokes
    a given static helper function.
     __init__ N/A N/A self interlink name helper N/A N/A N/A 
        interlink:  the JvmType of the Interlink implementation
        name:       the name of the method
        helper:     a jvm.Method object for the helper func we should invoke
         N/A N/A self interlink interlink N/A N/A self name name N/A N/A self helper helper N/A N/A N/A N/A N/A self helper return_type is_generated N/A N/A N/A self return_type jObject N/A N/A N/A self return_type N/A N/A self helper return_type N/A N/A self method_obj N/A N/A N/A jvm Method v interlink N/A self name N/A N/A self helper argument_types N/A self return_type N/A method N/A N/A self N/A N/A N/A N/A self method_obj N/A render N/A N/A self gen N/A N/A N/A argtypes N/A N/A N/A self interlink N/A list N/A N/A self helper argument_types N/A N/A N/A gen begin_function N/A self name N/A argtypes N/A self return_type N/A varindex 1 N/A argty N/A N/A self helper argument_types N/A N/A N/A N/A gen load_jvm_var argty varindex N/A varindex N/A N/A N/A argty descriptor type_width N/A N/A N/A gen emit N/A self helper N/A N/A N/A gen return_val N/A self return_type N/A N/A N/A gen end_function N/A N/A