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");
 }