public ExposureInstructionVisitor(ExposureChecker c)
 {
   ExposureChecker=c;
   ts=c.typeSystem;
   reportedErrors=new Hashtable();
 }
 /// <summary>
 /// Entry point to check a method.
 /// </summary>
 /// <param name="t"></param>
 /// <param name="method"></param>
 public static void Check(TypeSystem t, Method method, Analyzer analyzer) {
   if(method==null) 
     return;
   if (method.HasCompilerGeneratedSignature)
     return; // REVIEW: this means we don't check default ctors, among other things.
   ExposureChecker checker= new ExposureChecker(t,method);
   Analyzer.WriteLine("");
   ControlFlowGraph cfg=analyzer.GetCFG(method);
   if(cfg!=null)
   {
     checker.Run( cfg, new ExposureState(t));
 }
 }