protected CodeGenerator(InsertionPoint insertionPoint, SelectionResult selectionResult, AnalyzerResult analyzerResult)
            {
                Contract.ThrowIfFalse(insertionPoint.SemanticDocument == analyzerResult.SemanticDocument);

                this.InsertionPoint   = insertionPoint;
                this.SemanticDocument = insertionPoint.SemanticDocument;

                this.SelectionResult = selectionResult;
                this.AnalyzerResult  = analyzerResult;

                this.MethodNameAnnotation       = new SyntaxAnnotation();
                this.CallSiteAnnotation         = new SyntaxAnnotation();
                this.MethodDefinitionAnnotation = new SyntaxAnnotation();
            }
            protected CodeGenerator(InsertionPoint insertionPoint, SelectionResult selectionResult, AnalyzerResult analyzerResult, bool localFunction = false)
            {
                Contract.ThrowIfFalse(insertionPoint.SemanticDocument == analyzerResult.SemanticDocument);

                InsertionPoint   = insertionPoint;
                SemanticDocument = insertionPoint.SemanticDocument;

                SelectionResult = selectionResult;
                AnalyzerResult  = analyzerResult;

                LocalFunction = localFunction;

                MethodNameAnnotation       = new SyntaxAnnotation();
                CallSiteAnnotation         = new SyntaxAnnotation();
                MethodDefinitionAnnotation = new SyntaxAnnotation();
            }
            protected CodeGenerator(InsertionPoint insertionPoint, SelectionResult selectionResult, AnalyzerResult analyzerResult, TCodeGenerationOptions options, NamingStylePreferencesProvider namingPreferences, bool localFunction)
            {
                Contract.ThrowIfFalse(insertionPoint.SemanticDocument == analyzerResult.SemanticDocument);

                InsertionPoint   = insertionPoint;
                SemanticDocument = insertionPoint.SemanticDocument;

                SelectionResult = selectionResult;
                AnalyzerResult  = analyzerResult;

                Options           = options;
                NamingPreferences = namingPreferences;
                LocalFunction     = localFunction;

                MethodNameAnnotation       = new SyntaxAnnotation();
                CallSiteAnnotation         = new SyntaxAnnotation();
                MethodDefinitionAnnotation = new SyntaxAnnotation();
            }
示例#4
0
 protected abstract Task <GeneratedCode> GenerateCodeAsync(InsertionPoint insertionPoint, SelectionResult selectionResult, AnalyzerResult analyzeResult, CancellationToken cancellationToken);
示例#5
0
 protected abstract Task <SemanticDocument> ExpandAsync(SelectionResult selection, CancellationToken cancellationToken);
示例#6
0
 protected abstract Task <TriviaResult> PreserveTriviaAsync(SelectionResult selectionResult, CancellationToken cancellationToken);
示例#7
0
 protected abstract Task <AnalyzerResult> AnalyzeAsync(SelectionResult selectionResult, CancellationToken cancellationToken);
示例#8
0
 public MethodExtractor(SelectionResult selectionResult)
 {
     Contract.ThrowIfNull(selectionResult);
     this.OriginalSelectionResult = selectionResult;
 }
示例#9
0
 public MethodExtractor(SelectionResult selectionResult, bool localFunction)
 {
     Contract.ThrowIfNull(selectionResult);
     OriginalSelectionResult = selectionResult;
     LocalFunction           = localFunction;
 }
示例#10
0
 protected abstract Task <GeneratedCode> GenerateCodeAsync(InsertionPoint insertionPoint, SelectionResult selectionResult, AnalyzerResult analyzeResult, CodeGenerationOptions options, NamingStylePreferencesProvider namingPreferences, CancellationToken cancellationToken);