public ParsedEntity ParseCode(string code) { if (string.IsNullOrWhiteSpace(code)) { return(null); } var syntaxTree = CSharpSyntaxTree.ParseText(code); var root = (CompilationUnitSyntax)syntaxTree.GetRoot(); var visitor = new MappingVisitor(); visitor.Visit(root); var parsedEntity = visitor.ParsedEntity; if (parsedEntity == null) { return(null); } this._logger.LogDebug( "Parsed Mapping Class: '{0}'; Properties: {1}; Relationships: {2}", parsedEntity.MappingClass, parsedEntity.Properties.Count, parsedEntity.Relationships.Count); return(parsedEntity); }
public ParsedEntity Parse(string mappingFile) { if (string.IsNullOrEmpty(mappingFile) || !File.Exists(mappingFile)) { return(null); } var code = File.ReadAllText(mappingFile); var syntaxTree = CSharpSyntaxTree.ParseText(code); var root = (CompilationUnitSyntax)syntaxTree.GetRoot(); var visitor = new MappingVisitor(); visitor.Visit(root); var parsedEntity = visitor.ParsedEntity; if (parsedEntity != null) { _logger.LogDebug( "Parsed Mapping File: '{0}'; Properties: {1}; Relationships: {2}", Path.GetFileName(mappingFile), parsedEntity.Properties.Count, parsedEntity.Relationships.Count); } return(parsedEntity); }