// 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); }
// ClassDef public override bool Walk(ClassDef node) { if (scope == node) { return(true); } else { Define(node.name); return(false); } }
public override void PostWalk(ClassDef node) { Debug.Assert(node == current); current = current.parent; }
public virtual void PostWalk(ClassDef node) { }
// ClassDef public virtual bool Walk(ClassDef node) { return(false); }
// ClassDef public virtual bool Walk(ClassDef node) { return(true); }
public override bool Walk(ClassDef node) { // Do not recurse into nested classes return(false); }