public CastToSameTypeAnalyzer(OutputImpl output) { if (output == null) { throw new ArgumentNullException(nameof(output)); } _output = output; }
private void CheckOutput(OutputImpl output, String expectedOutput, String expectedError) { String actualOutput = output.Output.ToString(); String actualError = output.Error.ToString(); Assert.AreEqual(expectedOutput, actualOutput); Assert.AreEqual(expectedError, actualError); }
public NonAsciiIdentifiersAnalyzer(OutputImpl output) { if (output == null) { throw new ArgumentNullException(nameof(output)); } _output = output; }
public BadFilenameCaseAnalyzer(OutputImpl output) { if (output == null) { throw new ArgumentNullException(nameof(output)); } _output = output; }
public static IList <IFileAnalyzer> Create(OutputImpl output) { return(new IFileAnalyzer[] { new BadFilenameCaseAnalyzer(output), new CastToSameTypeAnalyzer(output), new NonAsciiIdentifiersAnalyzer(output) }); }
private static Boolean MainImpl(String[] args) { AppArgs appArgs = AppArgsParser.Parse(args); switch (appArgs.Mode) { case AppUsageMode.Help: Console.WriteLine(AppDescription); return(true); case AppUsageMode.Version: Console.WriteLine(VersionNumber); return(true); case AppUsageMode.Analysis: Console.OutputEncoding = Encoding.UTF8; IConfig externalConfig = ConfigFactory.Create(appArgs); if (externalConfig == null) { Console.Error.WriteLine(BadConfigMessage); return(false); } OutputImpl output = new OutputImpl(Console.Out, Console.Error, appArgs.OutputLevel); ISourceProcessor processor = SourceProcessorFactory.Create(appArgs.Source, externalConfig, output); IList <IFileAnalyzer> analyzers = AnalyzersFactory.Create(output); Boolean processResult = processor.Process(analyzers); output.WriteInfoLine($"Result of analysis: analysis is {(processResult ? "succeeded" : "failed")}"); return(processResult); case AppUsageMode.BadSource: Console.Error.WriteLine(BadSourceMessage); return(false); case AppUsageMode.BadConfig: Console.Error.WriteLine(BadConfigMessage); return(false); case AppUsageMode.BadAppUsage: case AppUsageMode.Unknown: Console.Error.WriteLine(BadUsageMessage); Console.WriteLine(AppDescription); return(false); default: throw new InvalidOperationException(); } }
public SolutionProcessor(String solutionFilename, IConfig externalConfig, OutputImpl output) { if (String.IsNullOrEmpty(solutionFilename)) { throw new ArgumentNullException(nameof(solutionFilename)); } if (externalConfig == null) { throw new ArgumentNullException(nameof(externalConfig)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } _solutionFilename = solutionFilename; _output = output; _processorHelper = new ProjectProcessorHelper(externalConfig, output); }
public static void Process(Func <OutputImpl, IFileAnalyzer> analyzerFactory, String source, String assemblyName, String filePath, OutputLevel outputLevel, Boolean expectedResult, String expectedOutput) { SemanticModel model = PreparationHelper.Prepare(source, assemblyName); ConfigData externalData = new ConfigData(); using (TextWriter outputWriter = new StringWriter()) using (TextWriter errorWriter = new StringWriter()) { OutputImpl output = new OutputImpl(outputWriter, errorWriter, outputLevel); IFileAnalyzer analyzer = analyzerFactory(output); Boolean actualResult = analyzer.Process(filePath, model.SyntaxTree, model, externalData); Assert.AreEqual(expectedResult, actualResult); String actualOutput = outputWriter.ToString(); Assert.AreEqual(expectedOutput, actualOutput); String actualError = errorWriter.ToString(); Assert.AreEqual("", actualError); } }
public static ISourceProcessor Create(String source, IConfig externalConfig, OutputImpl output) { if (String.IsNullOrEmpty(source)) { throw new ArgumentNullException(nameof(source)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } String sourceExtension = Path.GetExtension(source); if (String.IsNullOrEmpty(sourceExtension) || !ProcessorsMap.ContainsKey(sourceExtension)) { throw new ArgumentException(nameof(source)); } MSBuildLocator.RegisterDefaults(); return(ProcessorsMap[sourceExtension](source, externalConfig, output)); }
public FileProcessor(String filename, IConfig externalConfig, OutputImpl output) { if (String.IsNullOrEmpty(filename)) { throw new ArgumentNullException(nameof(filename)); } if (externalConfig == null) { throw new ArgumentNullException(nameof(externalConfig)); } if (output == null) { throw new ArgumentNullException(nameof(output)); } _filename = filename; _externalConfig = externalConfig; _output = output; _processorHelper = new FileProcessorHelper(); }
public void SetUp() { _errorOutput = new OutputImpl(new StringWriter(), new StringWriter(), OutputLevel.Error); _warningOutput = new OutputImpl(new StringWriter(), new StringWriter(), OutputLevel.Warning); _infoOutput = new OutputImpl(new StringWriter(), new StringWriter(), OutputLevel.Info); }
/// <summary> /// 用于创建modelBuilder /// </summary> /// <param name="modelBuilder"></param> protected internal virtual void DoRegisterTypes(ModelBuilder modelBuilder) { //TODO Dmn类型注册 try { AllowedAnswersImpl.RegisterType(modelBuilder); AllowedValuesImpl.RegisterType(modelBuilder); ArtifactImpl.RegisterType(modelBuilder); AssociationImpl.RegisterType(modelBuilder); AuthorityRequirementImpl.RegisterType(modelBuilder); BindingImpl.RegisterType(modelBuilder); BusinessContextElementImpl.RegisterType(modelBuilder); BusinessKnowledgeModelImpl.RegisterType(modelBuilder); ColumnImpl.RegisterType(modelBuilder); ContextEntryImpl.RegisterType(modelBuilder); ContextImpl.RegisterType(modelBuilder); DecisionImpl.RegisterType(modelBuilder); DecisionMadeReferenceImpl.RegisterType(modelBuilder); DecisionMakerReferenceImpl.RegisterType(modelBuilder); DecisionOwnedReferenceImpl.RegisterType(modelBuilder); DecisionOwnerReferenceImpl.RegisterType(modelBuilder); DecisionRuleImpl.RegisterType(modelBuilder); DecisionServiceImpl.RegisterType(modelBuilder); DecisionTableImpl.RegisterType(modelBuilder); DefaultOutputEntryImpl.RegisterType(modelBuilder); DefinitionsImpl.RegisterType(modelBuilder); DescriptionImpl.RegisterType(modelBuilder); DmnElementImpl.RegisterType(modelBuilder); DmnElementReferenceImpl.RegisterType(modelBuilder); DrgElementImpl.RegisterType(modelBuilder); DrgElementReferenceImpl.RegisterType(modelBuilder); ElementCollectionImpl.RegisterType(modelBuilder); EncapsulatedDecisionReferenceImpl.RegisterType(modelBuilder); EncapsulatedLogicImpl.RegisterType(modelBuilder); ExpressionImpl.RegisterType(modelBuilder); ExtensionElementsImpl.RegisterType(modelBuilder); FormalParameterImpl.RegisterType(modelBuilder); FunctionDefinitionImpl.RegisterType(modelBuilder); ImpactedPerformanceIndicatorReferenceImpl.RegisterType(modelBuilder); ImpactingDecisionReferenceImpl.RegisterType(modelBuilder); ImportImpl.RegisterType(modelBuilder); ImportedElementImpl.RegisterType(modelBuilder); ImportedValuesImpl.RegisterType(modelBuilder); InformationItemImpl.RegisterType(modelBuilder); InformationRequirementImpl.RegisterType(modelBuilder); InputImpl.RegisterType(modelBuilder); InputClauseImpl.RegisterType(modelBuilder); InputDataImpl.RegisterType(modelBuilder); InputDataReferenceImpl.RegisterType(modelBuilder); InputDecisionReferenceImpl.RegisterType(modelBuilder); InputEntryImpl.RegisterType(modelBuilder); InputExpressionImpl.RegisterType(modelBuilder); InputValuesImpl.RegisterType(modelBuilder); InvocationImpl.RegisterType(modelBuilder); ItemComponentImpl.RegisterType(modelBuilder); ItemDefinitionImpl.RegisterType(modelBuilder); ItemDefinitionReferenceImpl.RegisterType(modelBuilder); KnowledgeRequirementImpl.RegisterType(modelBuilder); KnowledgeSourceImpl.RegisterType(modelBuilder); ListImpl.RegisterType(modelBuilder); LiteralExpressionImpl.RegisterType(modelBuilder); ModelElementInstanceImpl.RegisterType(modelBuilder); NamedElementImpl.RegisterType(modelBuilder); OrganizationUnitImpl.RegisterType(modelBuilder); OutputImpl.RegisterType(modelBuilder); OutputClauseImpl.RegisterType(modelBuilder); OutputDecisionReferenceImpl.RegisterType(modelBuilder); OutputEntryImpl.RegisterType(modelBuilder); OutputValuesImpl.RegisterType(modelBuilder); OwnerReferenceImpl.RegisterType(modelBuilder); ParameterReferenceImpl.RegisterType(modelBuilder); PerformanceIndicatorImpl.RegisterType(modelBuilder); QuestionImpl.RegisterType(modelBuilder); RelationImpl.RegisterType(modelBuilder); RequiredAuthorityReferenceImpl.RegisterType(modelBuilder); RequiredDecisionReferenceImpl.RegisterType(modelBuilder); RequiredInputReferenceImpl.RegisterType(modelBuilder); RequiredKnowledgeReferenceImpl.RegisterType(modelBuilder); RowImpl.RegisterType(modelBuilder); RuleImpl.RegisterType(modelBuilder); SourceRefImpl.RegisterType(modelBuilder); SupportedObjectiveReferenceImpl.RegisterType(modelBuilder); TargetRefImpl.RegisterType(modelBuilder); TextImpl.RegisterType(modelBuilder); TextAnnotationImpl.RegisterType(modelBuilder); TypeImpl.RegisterType(modelBuilder); TypeRefImpl.RegisterType(modelBuilder); UnaryTestsImpl.RegisterType(modelBuilder); UsingProcessReferenceImpl.RegisterType(modelBuilder); UsingTaskReferenceImpl.RegisterType(modelBuilder); VariableImpl.RegisterType(modelBuilder); } catch (System.Exception ex) { throw ex; } /// <summary> /// camunda extensions </summary> }
public static Boolean CheckCompilationErrors(String filename, Compilation compilation, OutputImpl output) { output.WriteInfoLine("Checking compilation for errors and warnings:"); IList <Diagnostic> diagnostics = compilation.GetDiagnostics(); Diagnostic[] diagnosticErrors = diagnostics.Where(d => d.Severity == DiagnosticSeverity.Error).ToArray(); Diagnostic[] diagnosticWarnings = diagnostics.Where(d => d.Severity == DiagnosticSeverity.Warning).ToArray(); Boolean hasErrors = false; output.WriteInfoLine($"Found {diagnosticErrors.Length} errors in the compilation"); foreach (Diagnostic diagnostic in diagnosticErrors) { output.WriteErrorLine($"Found following error in the compilation of the {filename} entity: {diagnostic.GetMessage()}"); hasErrors = true; } output.WriteInfoLine($"Found {diagnosticWarnings.Length} warnings in the compilation"); foreach (Diagnostic diagnostic in diagnosticWarnings) { output.WriteWarningLine($"Found following warning in the compilation: {diagnostic.GetMessage()}"); } return(!hasErrors); }
public static StorageClass Parse(WordReader reader, uint wordCount) { var id = (Enumerant)reader.ReadWord(); switch (id) { case Enumerant.UniformConstant: return(UniformConstantImpl.Parse(reader, wordCount - 1)); case Enumerant.Input: return(InputImpl.Parse(reader, wordCount - 1)); case Enumerant.Uniform: return(UniformImpl.Parse(reader, wordCount - 1)); case Enumerant.Output: return(OutputImpl.Parse(reader, wordCount - 1)); case Enumerant.Workgroup: return(WorkgroupImpl.Parse(reader, wordCount - 1)); case Enumerant.CrossWorkgroup: return(CrossWorkgroupImpl.Parse(reader, wordCount - 1)); case Enumerant.Private: return(PrivateImpl.Parse(reader, wordCount - 1)); case Enumerant.Function: return(FunctionImpl.Parse(reader, wordCount - 1)); case Enumerant.Generic: return(GenericImpl.Parse(reader, wordCount - 1)); case Enumerant.PushConstant: return(PushConstantImpl.Parse(reader, wordCount - 1)); case Enumerant.AtomicCounter: return(AtomicCounterImpl.Parse(reader, wordCount - 1)); case Enumerant.Image: return(ImageImpl.Parse(reader, wordCount - 1)); case Enumerant.StorageBuffer: return(StorageBufferImpl.Parse(reader, wordCount - 1)); case Enumerant.CallableDataNV: return(CallableDataNVImpl.Parse(reader, wordCount - 1)); //CallableDataKHR has the same id as another value in enum. //case Enumerant.CallableDataKHR : // return CallableDataKHR.Parse(reader, wordCount - 1); case Enumerant.IncomingCallableDataNV: return(IncomingCallableDataNVImpl.Parse(reader, wordCount - 1)); //IncomingCallableDataKHR has the same id as another value in enum. //case Enumerant.IncomingCallableDataKHR : // return IncomingCallableDataKHR.Parse(reader, wordCount - 1); case Enumerant.RayPayloadNV: return(RayPayloadNVImpl.Parse(reader, wordCount - 1)); //RayPayloadKHR has the same id as another value in enum. //case Enumerant.RayPayloadKHR : // return RayPayloadKHR.Parse(reader, wordCount - 1); case Enumerant.HitAttributeNV: return(HitAttributeNVImpl.Parse(reader, wordCount - 1)); //HitAttributeKHR has the same id as another value in enum. //case Enumerant.HitAttributeKHR : // return HitAttributeKHR.Parse(reader, wordCount - 1); case Enumerant.IncomingRayPayloadNV: return(IncomingRayPayloadNVImpl.Parse(reader, wordCount - 1)); //IncomingRayPayloadKHR has the same id as another value in enum. //case Enumerant.IncomingRayPayloadKHR : // return IncomingRayPayloadKHR.Parse(reader, wordCount - 1); case Enumerant.ShaderRecordBufferNV: return(ShaderRecordBufferNVImpl.Parse(reader, wordCount - 1)); //ShaderRecordBufferKHR has the same id as another value in enum. //case Enumerant.ShaderRecordBufferKHR : // return ShaderRecordBufferKHR.Parse(reader, wordCount - 1); case Enumerant.PhysicalStorageBuffer: return(PhysicalStorageBufferImpl.Parse(reader, wordCount - 1)); //PhysicalStorageBufferEXT has the same id as another value in enum. //case Enumerant.PhysicalStorageBufferEXT : // return PhysicalStorageBufferEXT.Parse(reader, wordCount - 1); default: throw new IndexOutOfRangeException("Unknown StorageClass " + id); } }