public ParsingStageService( ICOMReferenceSynchronizer comSynchronizer, IBuiltInDeclarationLoader builtInDeclarationLoader, IParseRunner parseRunner, IDeclarationResolveRunner declarationResolver, IReferenceResolveRunner referenceResolver) { if (comSynchronizer == null) { throw new ArgumentNullException(nameof(comSynchronizer)); } if (builtInDeclarationLoader == null) { throw new ArgumentNullException(nameof(builtInDeclarationLoader)); } if (parseRunner == null) { throw new ArgumentNullException(nameof(parseRunner)); } if (declarationResolver == null) { throw new ArgumentNullException(nameof(declarationResolver)); } if (referenceResolver == null) { throw new ArgumentNullException(nameof(referenceResolver)); } _comSynchronizer = comSynchronizer; _builtInDeclarationLoader = builtInDeclarationLoader; _parseRunner = parseRunner; _declarationResolver = declarationResolver; _referenceResolver = referenceResolver; }