Exemplo n.º 1
0
        // ClassDef
        public override bool Walk(ClassDef node)
        {
            Define(node.name);

            // Base references are in the outer scope
            foreach (Expr b in node.bases)
            {
                b.Walk(this);
            }

            // And so is the __name__ reference
            Reference(Name.Make("__name__"));

            node.parent = current;
            current     = node;

            // define the __doc__ and the __module__
            Define(Name.Make("__doc__"));
            Define(Name.Make("__module__"));

            // Walk the body
            node.body.Walk(this);
            processed.Add(node);
            return(false);
        }
Exemplo n.º 2
0
 // ClassDef
 public override bool Walk(ClassDef node)
 {
     if (scope == node)
     {
         return(true);
     }
     else
     {
         Define(node.name);
         return(false);
     }
 }
Exemplo n.º 3
0
 public override void PostWalk(ClassDef node)
 {
     Debug.Assert(node == current);
     current = current.parent;
 }
Exemplo n.º 4
0
 public virtual void PostWalk(ClassDef node)
 {
 }
Exemplo n.º 5
0
 // ClassDef
 public virtual bool Walk(ClassDef node)
 {
     return(false);
 }
Exemplo n.º 6
0
 // ClassDef
 public virtual bool Walk(ClassDef node)
 {
     return(true);
 }
Exemplo n.º 7
0
 public override bool Walk(ClassDef node)
 {
     // Do not recurse into nested classes
     return(false);
 }