예제 #1
0
 public bool RunTypeCheckers()
 {
     if (!BuilderStateMachine.ASTIsBuilt)
     {
         DataContext.ASTHandlerExceptions.Add(new QLError("previous step not completed successfuly"));
         return(false);
     }
     BuilderStateMachine.TypeIsChecked = RunHandlerLevel(TypeCheckers.ToArray());
     return(BuilderStateMachine.TypeIsChecked);
 }
예제 #2
0
 public ConcurrentDictionary <TIn, TOut> Create() =>
 _cache ?? (_cache = TypeCheckers.EqualsGetHashCodeOverride(typeof(TIn))
         ? new ConcurrentDictionary <TIn, TOut>()
         : new ConcurrentDictionary <TIn, TOut>(new EqualityComparerUsingReflection <TIn>()));
예제 #3
0
 public void RegisterTypeChecker(IExecutableHandler handler)
 {
     TypeCheckers.Add(handler);
 }