예제 #1
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitFini");
		}
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitAssembly");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitType");
			dispatcher.Register(this, "VisitFini");
		}
예제 #3
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitBranch");
			dispatcher.Register(this, "VisitCompare");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #4
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitCeq");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #5
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitStore");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #6
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitLoad");
			dispatcher.Register(this, "VisitLoadAddr");
			dispatcher.Register(this, "VisitEnd");
		}
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");	
			dispatcher.Register(this, "VisitReturn");	
			dispatcher.Register(this, "VisitCast");	
			dispatcher.Register(this, "VisitInstruction");	
			dispatcher.Register(this, "VisitEnd");
		}
예제 #8
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			if (m_enabled)
			{
				dispatcher.Register(this, "VisitBegin");
				dispatcher.Register(this, "VisitCall");
			}
		}
예제 #9
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitAssembly");
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitEnd");
			dispatcher.Register(this, "VisitType");
			dispatcher.Register(this, "VisitFini");
		}
예제 #10
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			m_dispatcher = dispatcher;

			dispatcher.Register(this, "VisitAssembly");
			dispatcher.Register(this, "VisitType");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitCalls");
		}
예제 #11
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitStoreArg");
			dispatcher.Register(this, "VisitStoreLocal");
			dispatcher.Register(this, "VisitStoreField");
			dispatcher.Register(this, "VisitStoreStaticField");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #12
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitBeginMethod");
			dispatcher.Register(this, "VisitBinaryOp");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitCompare");
			dispatcher.Register(this, "VisitEndMethod");
		}
예제 #13
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitStore1");
			dispatcher.Register(this, "VisitStore2");
			dispatcher.Register(this, "VisitLoad1");
			dispatcher.Register(this, "VisitLoad2");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #14
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			m_dispatcher = dispatcher;

			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitNew");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #15
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethodBegin");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitLoadField");
			dispatcher.Register(this, "VisitLoadFieldAddress");
			dispatcher.Register(this, "VisitMethodEnd");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #16
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitType");
			dispatcher.Register(this, "VisitField");
			dispatcher.Register(this, "VisitLoadField");
			dispatcher.Register(this, "VisitLoadFieldAddr");
			dispatcher.Register(this, "VisitLoadStaticField");
			dispatcher.Register(this, "VisitLoadStaticFieldAddress");
			dispatcher.Register(this, "VisitFini");
		}
예제 #17
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitType");
			dispatcher.Register(this, "VisitEndTypes");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitNewObj");
			dispatcher.Register(this, "VisitInitObj");
			dispatcher.Register(this, "VisitFini");
		}
예제 #18
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			m_dispatcher = dispatcher;
			
			dispatcher.Register(this, "VisitAssembly");
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitStoreStatic");
			dispatcher.Register(this, "VisitEnd");
			dispatcher.Register(this, "VisitCallGraph");
		}
예제 #19
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethodBegin");
			dispatcher.Register(this, "VisitConditional");	
			dispatcher.Register(this, "VisitCall");	
			dispatcher.Register(this, "VisitNewObj");	
			dispatcher.Register(this, "VisitThrow");	
			dispatcher.Register(this, "VisitMethodEnd");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #20
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitLoadField");
			dispatcher.Register(this, "VisitLoadFieldAdr");
			dispatcher.Register(this, "VisitStoreField");
			dispatcher.Register(this, "VisitSLoadField");
			dispatcher.Register(this, "VisitSStoreField");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #21
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitMethod");
			dispatcher.Register(this, "VisitCast");
			dispatcher.Register(this, "VisitCall");
			dispatcher.Register(this, "VisitInit");
			dispatcher.Register(this, "VisitLoadField");
			dispatcher.Register(this, "VisitLoadStaticField");
			dispatcher.Register(this, "VisitNew");
			dispatcher.Register(this, "VisitStoreField");
			dispatcher.Register(this, "VisitStoreStaticField");
			dispatcher.Register(this, "VisitEnd");
		}
예제 #22
0
		public override void Register(RuleDispatcher dispatcher) 
		{
#if !TEST
			string convention = Settings.Get("naming", "mono");
			if (convention == "jurassic")
#endif
			{
				dispatcher.Register(this, "VisitBegin");
				dispatcher.Register(this, "VisitType");
				dispatcher.Register(this, "VisitMethod");
				dispatcher.Register(this, "VisitJurassicFields");
				dispatcher.Register(this, "VisitEvent");
				dispatcher.Register(this, "VisitProperty");
				dispatcher.Register(this, "VisitEnd");
			}
		}
예제 #23
0
 public CheckItem(Rule.KeepAliveCallback callback)
 {
     m_callback   = callback;
     m_dispatcher = new RuleDispatcher(this);
 }
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitAssembly");
 }
예제 #25
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBinary");
			dispatcher.Register(this, "VisitFini");
		}
예제 #26
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitModule");
 }
예제 #27
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitBegin");
     dispatcher.Register(this, "VisitNew");
     dispatcher.Register(this, "VisitInit");
 }
예제 #28
0
파일: Rule.cs 프로젝트: dbremner/smokey
		public abstract void Register(RuleDispatcher dispatcher);
예제 #29
0
		public CheckItem()
		{
			m_dispatcher = new RuleDispatcher(this);
		}
예제 #30
0
		public CheckItem(Rule.KeepAliveCallback callback)
		{
			m_callback = callback;
			m_dispatcher = new RuleDispatcher(this);
		}
예제 #31
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitBegin");
     dispatcher.Register(this, "VisitCall");
     dispatcher.Register(this, "VisitFini");
 }
예제 #32
0
 public CheckItem()
 {
     m_dispatcher = new RuleDispatcher(this);
 }
예제 #33
0
        private void DoRunTest(Rule rule, List<TypeDefinition> types, AssemblyCache cache)
        {
            RuleDispatcher dispatcher = new RuleDispatcher();
            rule.Register(dispatcher);
            m_failed = false;

            dispatcher.Dispatch(new BeginTesting());
            dispatcher.Dispatch(Assembly);

            dispatcher.Dispatch(new BeginTypes());
            foreach (TypeDefinition t in types)
                dispatcher.Dispatch(t);
            dispatcher.Dispatch(new EndTypes());

            foreach (MethodInfo info in cache.Methods)
            {
                dispatcher.Dispatch(info);
            }

            dispatcher.DispatchCallGraph();
            dispatcher.Dispatch(new EndTesting());
        }
예제 #34
0
 internal void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitAssembly", "ClassifyMethod", "I1000");
     dispatcher.Register(this, "VisitBegin", "ClassifyMethod", "I1000");
     dispatcher.Register(this, "VisitNewObj", "ClassifyMethod", "I1000");
 }
예제 #35
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitType");
     dispatcher.Register(this, "VisitMethod");
 }
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitBegin");
			dispatcher.Register(this, "VisitProp");
		}
예제 #37
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitBegin");
     dispatcher.Register(this, "VisitLoad");
     dispatcher.Register(this, "VisitEnd");
 }
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitAssembly");
		}
예제 #39
0
		public override void Register(RuleDispatcher dispatcher) 
		{
			dispatcher.Register(this, "VisitMethod");
		}
예제 #40
0
 public override void Register(RuleDispatcher dispatcher)
 {
     dispatcher.Register(this, "VisitBinary");
     dispatcher.Register(this, "VisitFini");
 }