;
"Ic            !   @   s  d  d l  Z  d  d l Z d  d l m Z d  d l Z d   Z d d d d d d	 d
 d d d d d d d d d d d d d g Z d g Z d d d d d d d d  d! d" d# d$ d% d& d' d( d) g Z Gd*   d+ e j	  Z
 Gd,   d- e j	  Z d.   Z d/   Z d0 d1 d d3 d4 g  d d g  d d g  g  f	 d5 d f g g  d f g f d0 d7 d d8 g  g  d d d5 d f g g  f	 g f d0 d1 d d3 d4 g  d d g  d d g  g  f	 d: d d; d d2 f f g g  d f g f d0 d= d d> d d& d f g f g f d0 dA d d> d d& d f g d; d d2 f f g f d0 dC d d> d d& d f d d; d d2 f f g f d0 dF d d> d d& d f d> d d& d f d5 d f g g  f g f d0 dI d d> d d& d f d5 d f g g  f g f d0 dK d d> d d& d f d5 d f g g  f g f d0 dM d dN d d> d dO d f dP d dR f g g  d d f d f g f d0 dS d d5 d f g dU d d> d dO d f d d5 d f g f g g  f g f d0 dW d d5 d f g d5 d f g f g f d0 dX d d> d d& d f d f g f d0 dY d d g f g f d0 d\ d d[ d g d  f g f d0 d] d d& g f g f d0 d^ d d; d d2 f f g f d0 d5 d f g f d0 d_ d f g f d0 d` d f g f g Z da d^ d db d d; d d2 f d d; d dT f f f g f g Z dc dd d d d> d df d f d> d dg d f g f f dc db d d> d df d f d d> d dg d f f f dc dh d d d> d d& d f f f dc dj d d4 g  d d g  d d g  g  f	 d> d dk d f f f dc dl d d; d d2 f g d; d dT f g f f dc dm d d> d df d f dn d> d dg d f d> d dp d f d> d dr d f g f g f f dc ds d d> d df d f dn d> d dg d f d> d dp d f d> d dr d f g f g f f dc dt d d; d d2 f d d g d; d dT f d; d dL f g f f dc dN d d> d d3 d f d; d d2 f d; d dT f g dv dp d; d dL f f g d> d dr d f d> d dw d f f f dc d; d dx f f dc dP d dR f f dc dy d d> d df d f dg d f f dc dz d d> d df d f d{ d> ddg df d> ddp df d f df f dc d> dd& df f dc d| dd; d	d2 f d; d
dT f d; ddL f g df f dc d} dd; dd2 f d; ddT f d; ddL f g df f dc dN ddy ddy ddy dd> ddf df dg df dp df dr df dz ddy dd> ddf df dg df d{ d; d d2 f d; d!dT f d f d"f g g  d d f f g Z e   d S(#  i    N(   u   supportc             C   s   |  d  k p t |  t t t f  o |  St |  t  o d   |  D S|  j j g } t |  d  o- t |  d  o | j	 |  j
 |  j f  n |  j d  k o t |  Sx- |  j D]" } | j	 t t |  |    q Wt |  S(   Nc             S   s!   g  } |  ] } | t  |  q
 S(    (   u   to_tuple(   u   .0u   _[1]u   e(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu
   <listcomp>	   s    u   linenou
   col_offset(   u   Noneu
   isinstanceu   stru   intu   complexu   listu	   __class__u   __name__u   hasattru   appendu   linenou
   col_offsetu   _fieldsu   tupleu   to_tupleu   getattr(   u   tu   resultu   f(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   to_tuple   s    & 
  u   def f(): passu   class C:passu   def f():return 1u   del vu   v = 1u   v += 1u   for v in v:passu   while v:passu	   if v:passu   raise Exception('string')u$   try:
  pass
except Exception:
  passu   try:
  pass
finally:
  passu   assert vu
   import sysu   from sys import vu   global vu   1u   passu   breaku   continueu   1+2u   a and bu   a + bu   not vu   lambda:Noneu   { 1:2 }u   [a for b in c if d]u   (a for b in c if d)u	   1 < 2 < 3u   f(1,2,c=3,*d,**e)u   10u   'string'u   a.bu   a[b:c]u   vu   [1,2,3]u   1,2,3u   a.b.c.d(a.b[1:2])c             B   s2   |  Ee  Z d    Z d   Z d   Z d   Z d S(   c             C   s  t  | t j  p | j d  k o d  St  | t j t j t j f  o; | j | j	 f } |  j
 | | k  | j | j	 f } n xv | j D]k } t | |  } t  | t  o% xC | D] } |  j | |  q Wq | d  k	 o |  j | |  q q Wd  S(   N(   u
   isinstanceu   astu   ASTu   _fieldsu   Noneu   expru   stmtu   excepthandleru   linenou
   col_offsetu   assert_u   getattru   listu   _assert_order(   u   selfu   ast_nodeu
   parent_posu   node_posu   nameu   valueu   child(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   _assert_orderw   s    $"
  c             C   s   x t  t d f t t d f t t d f f D]m \ } } } x[ t | |  D]J \ } } t | d | t j	  } |  j
 t |  |  |  j | d  qJ Wq+ Wd  S(   Nu   execu   singleu   evalu   ?i    (   i    i    (   u
   exec_testsu   exec_resultsu   single_testsu   single_resultsu
   eval_testsu   eval_resultsu   zipu   compileu   astu   PyCF_ONLY_ASTu   assertEqualsu   to_tupleu   _assert_order(   u   selfu   inputu   outputu   kindu   iu   ou   ast_tree(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_snippets   s      c          	   C   s   t  j d d d d d } |  j | j d  |  j | j d  |  j | j d  |  j | j d  |  j t t  j d d  t  j d d d d d d d d  } |  j | j d  |  j | j d  |  j | j d  |  j | j d  t  j	   } d  S(	   Ni   i   i   u   linenoi    u   leftu   opu   right(
   u   astu   BinOpu   assertEqualsu   leftu   opu   rightu   linenou   assertRaisesu	   TypeErroru   Sub(   u   selfu   x(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_nodeclasses   s    $c       	      C   s   d d  l  } | g } y d d  l } | j |  Wn t k
 o Yn Xd d d g } xq | D]i } x` | D]X } xO d   t D D]= } | j | j | |   } |  j t |  t |   q Wql Wq_ Wd  S(   Ni    i   i   c             s   s$   |  ] } t  | d  d d  Vq d S(   u   ?u   execi   N(   u   compile(   u   .0u   i(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu	   <genexpr>   s    (	   u   pickleu   cPickleu   appendu   ImportErroru
   exec_testsu   loadsu   dumpsu   assertEqualsu   to_tuple(	   u   selfu   pickleu   modsu   cPickleu	   protocolsu   modu   protocolu   astu   ast2(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_pickling   s     	   N(   u   __name__u
   __module__u   _assert_orderu   test_snippetsu   test_nodeclassesu   test_pickling(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu	   AST_Testsu   s   
				u	   AST_Testsc             B   s_   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	 S(
   c             C   sM   t  j d  } t d d d t  j  } |  j t  j |  t  j |   d  S(   Nu
   foo(1 + 1)u	   <unknown>u   exec(   u   astu   parseu   compileu   PyCF_ONLY_ASTu   assertEqualu   dump(   u   selfu   au   b(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu
   test_parse   s    c             C   sj   t  j d  } |  j t  j |  d  |  j t  j | d d d  |  j t  j | d d d  d  S(	   Nu   spam(eggs, "and cheese")u   Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load()), args=[Name(id='eggs', ctx=Load()), Str(s='and cheese')], keywords=[], starargs=None, kwargs=None))])u   annotate_fieldsue   Module([Expr(Call(Name('spam', Load()), [Name('eggs', Load()), Str('and cheese')], [], None, None))])u   include_attributesu  Module(body=[Expr(value=Call(func=Name(id='spam', ctx=Load(), lineno=1, col_offset=0), args=[Name(id='eggs', ctx=Load(), lineno=1, col_offset=5), Str(s='and cheese', lineno=1, col_offset=11)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0)])FT(   u   astu   parseu   assertEqualu   dumpu   Falseu   True(   u   selfu   node(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu	   test_dump   s    c             C   s_   t  j d d d } t  j t  j d  | j j  | j _ |  j t  j | d d d  d  S(   Nu   1 + 1u   modeu   evali   u   include_attributesu   Expression(body=BinOp(left=Num(n=1, lineno=1, col_offset=0), op=Add(), right=Num(n=2, lineno=1, col_offset=4), lineno=1, col_offset=0))T(	   u   astu   parseu   copy_locationu   Numu   bodyu   rightu   assertEqualu   dumpu   True(   u   selfu   src(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_copy_location   s    'c             C   s   t  j d  } | j j t  j t  j t  j d t  j    t  j d  g g  d  d     |  j
 | t  j |   |  j
 t  j | d d d  d  S(   Nu   write("spam")u   spamu   eggsu   include_attributesu  Module(body=[Expr(value=Call(func=Name(id='write', ctx=Load(), lineno=1, col_offset=0), args=[Str(s='spam', lineno=1, col_offset=6)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0), Expr(value=Call(func=Name(id='spam', ctx=Load(), lineno=1, col_offset=0), args=[Str(s='eggs', lineno=1, col_offset=0)], keywords=[], starargs=None, kwargs=None, lineno=1, col_offset=0), lineno=1, col_offset=0)])T(   u   astu   parseu   bodyu   appendu   Expru   Callu   Nameu   Loadu   Stru   Noneu   assertEqualu   fix_missing_locationsu   dumpu   True(   u   selfu   src(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_fix_missing_locations   s    *"c             C   sW   t  j d d d } |  j t  j | d d |  |  j t  j | d d d  d  S(	   Nu   1 + 1u   modeu   evalu   ni   u   include_attributesu   Expression(body=BinOp(left=Num(n=1, lineno=4, col_offset=0), op=Add(), right=Num(n=1, lineno=4, col_offset=4), lineno=4, col_offset=0))T(   u   astu   parseu   assertEqualu   increment_linenou   dumpu   True(   u   selfu   src(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_increment_lineno   s    c             C   sy   t  j d d d } t t  j | j   } |  j | j d  j d  |  j | i g  d 6d  d 6g  d 6d  d	 6 d  S(
   Nu   foo()u   modeu   evalu   funcu   foou   keywordsu   kwargsu   argsu   starargs(	   u   astu   parseu   dictu   iter_fieldsu   bodyu   assertEqualu   popu   idu   None(   u   selfu   nodeu   d(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_iter_fields   s
    c             C   s   t  j d d d } |  j t t t  j | j    d  t  j | j  } |  j t |  j d  |  j t |  j	 d  |  j t |  j	 d  |  j t  j
 t |   d  d  S(	   Nu   spam(23, 42, eggs='leek')u   modeu   evali   u   spami   i*   u(   keyword(arg='eggs', value=Str(s='leek'))(   u   astu   parseu   assertEqualu   lenu   listu   iter_child_nodesu   bodyu   nextu   idu   nu   dump(   u   selfu   nodeu   iterator(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_iter_child_nodes   s    (c             C   s3   t  j d  } |  j t  j | j d  d  d  S(   Nu&   def foo():
  """line one
  line two"""i    u   line one
line two(   u   astu   parseu   assertEqualu   get_docstringu   body(   u   selfu   node(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_get_docstring  s    c             C   su   |  j  t j d  d d d g  |  j  t j d  i d d 6 |  j  t j d  d  |  j t t j d	  d  S(   Nu	   [1, 2, 3]i   i   i   u   {"foo": 42}i*   u   foou   (True, False, None)u   foo()TF(   TFN(   u   assertEqualu   astu   literal_evalu   Trueu   Falseu   Noneu   assertRaisesu
   ValueError(   u   self(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   test_literal_eval  s    " N(   u   __name__u
   __module__u
   test_parseu	   test_dumpu   test_copy_locationu   test_fix_missing_locationsu   test_increment_linenou   test_iter_fieldsu   test_iter_child_nodesu   test_get_docstringu   test_literal_eval(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   ASTHelpers_Test   s   
										u   ASTHelpers_Testc               C   s   t  j t t  d  S(   N(   u   supportu   run_unittestu	   AST_Testsu   ASTHelpers_Test(    (    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu	   test_main  s    c           
   C   s   t  d k o d  St j d d   d g k o x t d f t d f t d f f D]^ \ }  } t | d  x7 |  D]/ } t t t t	 | d | d	    d
  qr Wt d  qQ Wt d  t
  n t   d  S(   Nu   __main__i   u   -gu   execu   singleu   evalu   _results = [u   ?i   u   ,u   ]u   main()(   u   __name__u   sysu   argvu
   exec_testsu   single_testsu
   eval_testsu   printu   repru   to_tupleu   compileu
   SystemExitu	   test_main(   u
   statementsu   kindu   s(    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   main  s      -

u   Moduleu   FunctionDefi   u   fu	   argumentsu   Passi	   u   ClassDefu   Ci   u   Returnu   Numi   u   Deleteu   Namei   u   Delu   Assignu   Storeu	   AugAssignu   Addi   u   Foru   Loadi   u   Whilei   u   Ifi   u   Raiseu   Callu	   Exceptionu   Stri   u   stringu	   TryExcepti   u   ExceptHandleri   u
   TryFinallyu   Assertu   Importu   aliasu   sysu
   ImportFromu   Globalu   Expru   Breaku   Continueu   Interactiveu   BinOpu
   Expressionu   BoolOpu   Andu   au   bu   UnaryOpu   Notu   Lambdau   Noneu   Dictu   ListCompu   comprehensioni   u   ci   u   du   GeneratorExpu   Compareu   Ltu   keywordu   ei
   u	   Attributeu	   Subscriptu   Sliceu   Listu   Tuplei   (   i   i    (   i   i	   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i   (   u   Del(   i   i    (   i   i    (   u   Store(   i   i   (   i   i    (   i   i    (   u   Store(   u   Add(   i   i   (   i   i    (   i   i   (   u   Store(   i   i	   (   u   Load(   i   i   (   i   i    (   i   i   (   u   Load(   i   i   (   i   i    (   i   i   (   u   Load(   i   i   (   i   i    (   i   i   (   i   i   (   u   Load(   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   u   Load(   i   i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i   (   u   Load(   i   i    (   u   aliasu   sysN(   i   i    (   u   aliasu   vN(   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   u   Add(   i   i   (   i   i    (   u   And(   i   i    (   u   Load(   i   i   (   u   Load(   i   i    (   i   i    (   u   Load(   u   Add(   i   i   (   u   Load(   i   i    (   u   Not(   i   i   (   u   Load(   i   i    (   i   i   (   u   Load(   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   u   Load(   i   i   (   u   Store(   i   i   (   u   Load(   i   i   (   u   Load(   i   i   (   i   i   (   u   Load(   i   i   (   u   Store(   i   i   (   u   Load(   i   i   (   u   Load(   i   i    (   i   i    (   u   Lt(   u   Lt(   i   i   (   i   i   (   i   i    (   i   i    (   u   Load(   i   i   (   i   i   (   i   i   (   i   i   (   u   Load(   i   i   (   u   Load(   i   i    (   i   i    (   i   i    (   i   i    (   u   Load(   u   Load(   i   i    (   i   i    (   u   Load(   i   i   (   u   Load(   i   i   (   u   Load(   u   Load(   i   i    (   u   Load(   i   i    (   i   i   (   i   i   (   i   i   (   u   Load(   i   i    (   i   i    (   i   i   (   i   i   (   u   Load(   i   i    (   i   i    (   i   i    (   i   i    (   i   i    (   u   Load(   u   Load(   u   Load(   u   Load(   i   i   (   i   i   (   i   i   (   u   Load(   u   Load(   i   i   (   i   i   (   u   Load(   u   sysu   unittestu   testu   supportu   astu   to_tupleu
   exec_testsu   single_testsu
   eval_testsu   TestCaseu	   AST_Testsu   ASTHelpers_Testu	   test_mainu   mainu   Noneu   exec_resultsu   single_resultsu   eval_results(    (    (    u*   /mit/python/lib/python3.0/test/test_ast.pyu   <module>   s   				>Z		E0Q$00?00EK*$<30!<-WW?o$H99