Пример #1
0
 protected SingleTargeter(ICodeGenerationEngine engine, Guid id, string path)
 {
     this.CodeGenerationEngine = engine;
     this.DocumentPath         = path;
     this.dictionary           = new Dictionary <object, Func <TSingleTarget, object> >();
     this.Id = id;
 }
Пример #2
0
 public CSharpSingleTarget(ICodeGenerationEngine engine, Guid id, string path) : base(engine, id, path)
 {
 }
Пример #3
0
 protected CSharpSingleTargeter(ICodeGenerationEngine engine, Guid id, string path) : base(engine, id, path)
 {
 }
Пример #4
0
 public void RegisterEngine(ICodeGenerationEngine engine)
 {
     builder.RegisterInstance(engine).As <ICodeGenerationEngine>();
 }
Пример #5
0
            public ISingleTarget <TOutputNode> ProccessTarget <TSpecificCommand, TNode, TOutputNode>(ISingleTargeter <TNode> target, ICodeGenerationEngine engine)
                where TSpecificCommand : ICommandOn <TNode>, ICommandResult <TOutputNode>, TCommand
                where TNode : CSharpSyntaxNode
                where TOutputNode : CSharpSyntaxNode
            {
                var doc = engine.CurrentProject.GetDocument(target.Node.SyntaxTree);

                this.DocumentEditor = DocumentEditor.CreateAsync(doc).Result;//TODO: make async???
                this.Id             = Guid.NewGuid();
                target.Node.Accept(this);
                var result   = new CSharpSingleTarget <TOutputNode>(engine, this.Id, doc.FilePath);
                var document = this.DocumentEditor.GetChangedDocument();

                engine.CurrentProject = document.Project;
                return(result);
            }