diff --git a/src/Microsoft.AspNet.Razor/CSharpRazorCodeLanguage.cs b/src/Microsoft.AspNet.Razor/CSharpRazorCodeLanguage.cs
index 3ba7f35bcf..705a1780e9 100644
--- a/src/Microsoft.AspNet.Razor/CSharpRazorCodeLanguage.cs
+++ b/src/Microsoft.AspNet.Razor/CSharpRazorCodeLanguage.cs
@@ -42,7 +42,7 @@ namespace Microsoft.AspNet.Razor
return new CSharpRazorCodeGenerator(className, rootNamespaceName, sourceFileName, host);
}
- public override CodeBuilder CreateCodeBuilder(CodeGeneratorContext context)
+ public override CodeBuilder CreateCodeBuilder(CodeBuilderContext context)
{
return new CSharpCodeBuilder(context);
}
diff --git a/src/Microsoft.AspNet.Razor/Generator/CodeBuilderContext.cs b/src/Microsoft.AspNet.Razor/Generator/CodeBuilderContext.cs
new file mode 100644
index 0000000000..836eccc832
--- /dev/null
+++ b/src/Microsoft.AspNet.Razor/Generator/CodeBuilderContext.cs
@@ -0,0 +1,54 @@
+// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
+// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+namespace Microsoft.AspNet.Razor.Generator
+{
+ ///
+ /// Context object with information used to generate a Razor page.
+ ///
+ public class CodeBuilderContext : CodeGeneratorContext
+ {
+ ///
+ /// Instantiates a new instance of the object.
+ ///
+ /// A to copy information from.
+ public CodeBuilderContext(CodeGeneratorContext generatorContext)
+ : base(generatorContext)
+ {
+ ExpressionRenderingMode = ExpressionRenderingMode.WriteToOutput;
+ }
+
+ // Internal for testing.
+ internal CodeBuilderContext(RazorEngineHost host,
+ string className,
+ string rootNamespace,
+ string sourceFile,
+ bool shouldGenerateLinePragmas)
+ : base(host, className, rootNamespace, sourceFile, shouldGenerateLinePragmas)
+ {
+ ExpressionRenderingMode = ExpressionRenderingMode.WriteToOutput;
+ }
+
+ ///
+ /// The current C# rendering mode.
+ ///
+ ///
+ /// forces C# generation to write
+ /// s to the output page, i.e. WriteLiteral("Hello World").
+ /// writes values in their
+ /// rawest form, i.g. "Hello World".
+ ///
+ public ExpressionRenderingMode ExpressionRenderingMode { get; set; }
+
+ ///
+ /// The C# writer to write information to.
+ ///
+ ///
+ /// If is null values will be written using a default write method
+ /// i.e. WriteLiteral("Hello World").
+ /// If is not null values will be written to the given
+ /// , i.e. WriteLiteralTo(myWriter, "Hello World").
+ ///
+ public string TargetWriterName { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/src/Microsoft.AspNet.Razor/Generator/CodeGeneratorContext.cs b/src/Microsoft.AspNet.Razor/Generator/CodeGeneratorContext.cs
index 5babf29f67..72ef73d7bd 100644
--- a/src/Microsoft.AspNet.Razor/Generator/CodeGeneratorContext.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/CodeGeneratorContext.cs
@@ -7,37 +7,43 @@ namespace Microsoft.AspNet.Razor.Generator
{
public class CodeGeneratorContext
{
- private CodeGeneratorContext()
+ protected CodeGeneratorContext(CodeGeneratorContext context)
+ : this(context.Host,
+ context.ClassName,
+ context.RootNamespace,
+ context.SourceFile,
+ // True because we're pulling from the provided context's source file.
+ shouldGenerateLinePragmas: true)
{
- ExpressionRenderingMode = ExpressionRenderingMode.WriteToOutput;
+ CodeTreeBuilder = context.CodeTreeBuilder;
+ }
+
+ public CodeGeneratorContext(RazorEngineHost host,
+ string className,
+ string rootNamespace,
+ string sourceFile,
+ bool shouldGenerateLinePragmas)
+ {
+ CodeTreeBuilder = new CodeTreeBuilder();
+ Host = host;
+ SourceFile = shouldGenerateLinePragmas ? sourceFile : null;
+ RootNamespace = rootNamespace;
+ ClassName = className;
}
- // Internal/Private state. Technically consumers might want to use some of these but they can implement them independently if necessary.
- // It's way safer to make them internal for now, especially with the code generator stuff in a bit of flux.
- internal ExpressionRenderingMode ExpressionRenderingMode { get; set; }
public string SourceFile { get; internal set; }
+
public string RootNamespace { get; private set; }
+
public string ClassName { get; private set; }
+
public RazorEngineHost Host { get; private set; }
- public string TargetWriterName { get; set; }
public CodeTreeBuilder CodeTreeBuilder { get; set; }
-
///
/// Gets or sets the SHA1 based checksum for the file whose location is defined by .
///
public string Checksum { get; set; }
- public static CodeGeneratorContext Create(RazorEngineHost host, string className, string rootNamespace, string sourceFile, bool shouldGenerateLinePragmas)
- {
- return new CodeGeneratorContext()
- {
- CodeTreeBuilder = new CodeTreeBuilder(),
- Host = host,
- SourceFile = shouldGenerateLinePragmas ? sourceFile : null,
- RootNamespace = rootNamespace,
- ClassName = className
- };
- }
}
}
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/CSharpCodeBuilder.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/CSharpCodeBuilder.cs
index 2857915e87..9fea08fa89 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/CSharpCodeBuilder.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/CSharpCodeBuilder.cs
@@ -14,7 +14,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
private const string Sha1AlgorithmId = "{ff1816ec-aa5e-4d10-87f7-6f4963833460}";
private const int DisableAsyncWarning = 1998;
- public CSharpCodeBuilder(CodeGeneratorContext context)
+ public CSharpCodeBuilder(CodeBuilderContext context)
: base(context)
{
}
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpBaseTypeVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpBaseTypeVisitor.cs
index 8f00ae39a6..7d6ae08e77 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpBaseTypeVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpBaseTypeVisitor.cs
@@ -5,7 +5,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{
public class CSharpBaseTypeVisitor : CodeVisitor
{
- public CSharpBaseTypeVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpBaseTypeVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context) { }
public string CurrentBaseType { get; set; }
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpClassAttributeVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpClassAttributeVisitor.cs
index 0bcd1977a9..a514ac2eda 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpClassAttributeVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpClassAttributeVisitor.cs
@@ -7,7 +7,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{
public class CSharpClassAttributeVisitor : CodeVisitor
{
- public CSharpClassAttributeVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpClassAttributeVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context) { }
protected override void Visit(SessionStateChunk chunk)
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpCodeVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpCodeVisitor.cs
index de0b0c9d6d..0fb7aae03d 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpCodeVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpCodeVisitor.cs
@@ -17,7 +17,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
private CSharpPaddingBuilder _paddingBuilder;
- public CSharpCodeVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpCodeVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context)
{
_paddingBuilder = new CSharpPaddingBuilder(context.Host);
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpDesignTimeHelpersVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpDesignTimeHelpersVisitor.cs
index 347c8e4542..358aa28a83 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpDesignTimeHelpersVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpDesignTimeHelpersVisitor.cs
@@ -10,7 +10,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
private const int DisableVariableNamingWarnings = 219;
- public CSharpDesignTimeHelpersVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpDesignTimeHelpersVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context) { }
public void AcceptTree(CodeTree tree)
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpHelperVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpHelperVisitor.cs
index e0f3ee2597..9f4785713e 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpHelperVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpHelperVisitor.cs
@@ -11,7 +11,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
private CSharpCodeVisitor _codeVisitor;
- public CSharpHelperVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpHelperVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context)
{
_codeVisitor = new CSharpCodeVisitor(writer, context);
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpTypeMemberVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpTypeMemberVisitor.cs
index ee2888fe74..acff74340e 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpTypeMemberVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpTypeMemberVisitor.cs
@@ -9,7 +9,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{
private CSharpCodeVisitor _csharpCodeVisitor;
- public CSharpTypeMemberVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpTypeMemberVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context)
{
_csharpCodeVisitor = new CSharpCodeVisitor(writer, context);
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpUsingVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpUsingVisitor.cs
index b193654ffb..3208ba740e 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpUsingVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CSharp/Visitors/CSharpUsingVisitor.cs
@@ -9,7 +9,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler.CSharp
{
public class CSharpUsingVisitor : CodeVisitor
{
- public CSharpUsingVisitor(CSharpCodeWriter writer, CodeGeneratorContext context)
+ public CSharpUsingVisitor(CSharpCodeWriter writer, CodeBuilderContext context)
: base(writer, context)
{
ImportedUsings = new List();
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/ChunkVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/ChunkVisitor.cs
index a57d803fe8..595be02fa3 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/ChunkVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/ChunkVisitor.cs
@@ -8,14 +8,14 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler
{
public abstract class ChunkVisitor : IChunkVisitor where T : CodeWriter
{
- public ChunkVisitor(T writer, CodeGeneratorContext context)
+ public ChunkVisitor(T writer, CodeBuilderContext context)
{
Writer = writer;
Context = context;
}
protected T Writer { get; private set; }
- protected CodeGeneratorContext Context { get; private set; }
+ protected CodeBuilderContext Context { get; private set; }
public void Accept(IList chunks)
{
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeBuilder.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeBuilder.cs
index ffe56e3815..0dd0653b15 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeBuilder.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeBuilder.cs
@@ -5,14 +5,14 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler
{
public abstract class CodeBuilder
{
- private readonly CodeGeneratorContext _context;
+ private readonly CodeBuilderContext _context;
- public CodeBuilder(CodeGeneratorContext context)
+ public CodeBuilder(CodeBuilderContext context)
{
_context = context;
}
- protected CodeGeneratorContext Context
+ protected CodeBuilderContext Context
{
get { return _context; }
}
diff --git a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeVisitor.cs b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeVisitor.cs
index 8b8dcc3664..f8536e7486 100644
--- a/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeVisitor.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/Compiler/CodeBuilder/CodeVisitor.cs
@@ -5,7 +5,7 @@ namespace Microsoft.AspNet.Razor.Generator.Compiler
{
public class CodeVisitor : ChunkVisitor where T : CodeWriter
{
- public CodeVisitor(T writer, CodeGeneratorContext context)
+ public CodeVisitor(T writer, CodeBuilderContext context)
: base(writer, context) { }
protected override void Visit(LiteralChunk chunk)
diff --git a/src/Microsoft.AspNet.Razor/Generator/RazorCodeGenerator.cs b/src/Microsoft.AspNet.Razor/Generator/RazorCodeGenerator.cs
index 7ded170637..5ca1920467 100644
--- a/src/Microsoft.AspNet.Razor/Generator/RazorCodeGenerator.cs
+++ b/src/Microsoft.AspNet.Razor/Generator/RazorCodeGenerator.cs
@@ -71,7 +71,11 @@ namespace Microsoft.AspNet.Razor.Generator
{
if (_context == null)
{
- _context = CodeGeneratorContext.Create(Host, ClassName, RootNamespaceName, SourceFileName, GenerateLinePragmas);
+ _context = new CodeGeneratorContext(Host,
+ ClassName,
+ RootNamespaceName,
+ SourceFileName,
+ GenerateLinePragmas);
Initialize(_context);
}
}
diff --git a/src/Microsoft.AspNet.Razor/GeneratorResults.cs b/src/Microsoft.AspNet.Razor/GeneratorResults.cs
index 38a9faceda..85038be179 100644
--- a/src/Microsoft.AspNet.Razor/GeneratorResults.cs
+++ b/src/Microsoft.AspNet.Razor/GeneratorResults.cs
@@ -9,9 +9,10 @@ namespace Microsoft.AspNet.Razor
{
public class GeneratorResults : ParserResults
{
- public GeneratorResults(ParserResults parserResults,
- CodeBuilderResult codeBuilderResult)
- : this(parserResults.Document, parserResults.ParserErrors, codeBuilderResult)
+ public GeneratorResults(ParserResults parserResults, CodeBuilderResult codeBuilderResult)
+ : this(parserResults.Document,
+ parserResults.ParserErrors,
+ codeBuilderResult)
{
}
@@ -33,6 +34,7 @@ namespace Microsoft.AspNet.Razor
}
public string GeneratedCode { get; private set; }
+
public IList DesignTimeLineMappings { get; private set; }
}
}
diff --git a/src/Microsoft.AspNet.Razor/RazorCodeLanguage.cs b/src/Microsoft.AspNet.Razor/RazorCodeLanguage.cs
index f546328d28..a33066648a 100644
--- a/src/Microsoft.AspNet.Razor/RazorCodeLanguage.cs
+++ b/src/Microsoft.AspNet.Razor/RazorCodeLanguage.cs
@@ -54,6 +54,6 @@ namespace Microsoft.AspNet.Razor
///
public abstract RazorCodeGenerator CreateCodeGenerator(string className, string rootNamespaceName, string sourceFileName, RazorEngineHost host);
- public abstract CodeBuilder CreateCodeBuilder(CodeGeneratorContext codeGeneratorContext);
+ public abstract CodeBuilder CreateCodeBuilder(CodeBuilderContext codeGeneratorContext);
}
}
diff --git a/src/Microsoft.AspNet.Razor/RazorEngineHost.cs b/src/Microsoft.AspNet.Razor/RazorEngineHost.cs
index 828a3a9c4a..6a08de75b8 100644
--- a/src/Microsoft.AspNet.Razor/RazorEngineHost.cs
+++ b/src/Microsoft.AspNet.Razor/RazorEngineHost.cs
@@ -207,7 +207,7 @@ namespace Microsoft.AspNet.Razor
///
/// The code builder
/// Either the same code builder, after modifications, or a different code builder.
- public virtual CodeBuilder DecorateCodeBuilder(CodeBuilder incomingBuilder, CodeGeneratorContext context)
+ public virtual CodeBuilder DecorateCodeBuilder(CodeBuilder incomingBuilder, CodeBuilderContext context)
{
if (incomingBuilder == null)
{
diff --git a/src/Microsoft.AspNet.Razor/RazorTemplateEngine.cs b/src/Microsoft.AspNet.Razor/RazorTemplateEngine.cs
index 2b684f7ef6..8b7aab1e04 100644
--- a/src/Microsoft.AspNet.Razor/RazorTemplateEngine.cs
+++ b/src/Microsoft.AspNet.Razor/RazorTemplateEngine.cs
@@ -252,8 +252,8 @@ namespace Microsoft.AspNet.Razor
generator.DesignTimeMode = Host.DesignTimeMode;
generator.Visit(results);
-
- var codeGenerationContext = generator.Context;
+ var codeBuilderContext = new CodeBuilderContext(generator.Context);
+ var builder = CreateCodeBuilder(codeBuilderContext);
codeGenerationContext.Checksum = checksum;
var builder = CreateCodeBuilder(codeGenerationContext);
@@ -281,7 +281,7 @@ namespace Microsoft.AspNet.Razor
};
}
- protected internal virtual CodeBuilder CreateCodeBuilder(CodeGeneratorContext context)
+ protected internal virtual CodeBuilder CreateCodeBuilder(CodeBuilderContext context)
{
return Host.DecorateCodeBuilder(Host.CodeLanguage.CreateCodeBuilder(context),
context);
diff --git a/test/Microsoft.AspNet.Razor.Test/CSharpRazorCodeLanguageTest.cs b/test/Microsoft.AspNet.Razor.Test/CSharpRazorCodeLanguageTest.cs
index b3d5d0732d..989c532ac0 100644
--- a/test/Microsoft.AspNet.Razor.Test/CSharpRazorCodeLanguageTest.cs
+++ b/test/Microsoft.AspNet.Razor.Test/CSharpRazorCodeLanguageTest.cs
@@ -48,15 +48,16 @@ namespace Microsoft.AspNet.Razor.Test
{
// Arrange
var language = new CSharpRazorCodeLanguage();
- var host = new RazorEngineHost(language);
- var context = CodeGeneratorContext.Create(host,
- "myclass",
- "myns",
- string.Empty,
- shouldGenerateLinePragmas: false);
+ var host = new RazorEngineHost(language);
+ var codeBuilderContext = new CodeBuilderContext(
+ host,
+ "myclass",
+ "myns",
+ string.Empty,
+ shouldGenerateLinePragmas: false);
// Act
- var generator = language.CreateCodeBuilder(context);
+ var generator = language.CreateCodeBuilder(codeBuilderContext);
// Assert
Assert.IsType(generator);
diff --git a/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/CSharpCodeBuilderTests.cs b/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/CSharpCodeBuilderTests.cs
index 648a771150..98120e2984 100644
--- a/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/CSharpCodeBuilderTests.cs
+++ b/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/CSharpCodeBuilderTests.cs
@@ -17,15 +17,22 @@ namespace Microsoft.AspNet.Razor.Test.Generator.CodeTree
var syntaxTreeNode = new Mock(new SpanBuilder());
var language = new CSharpRazorCodeLanguage();
var host = new RazorEngineHost(language);
- var context = CodeGeneratorContext.Create(host, "TestClass", "TestNamespace", "Foo.cs", shouldGenerateLinePragmas: false);
- context.CodeTreeBuilder.AddUsingChunk("FakeNamespace1", syntaxTreeNode.Object);
- context.CodeTreeBuilder.AddUsingChunk("FakeNamespace2.SubNamespace", syntaxTreeNode.Object);
- var codeBuilder = language.CreateCodeBuilder(context);
+ var codeBuilderContext = new CodeBuilderContext(
+ host,
+ "TestClass",
+ "TestNamespace",
+ "Foo.cs",
+ shouldGenerateLinePragmas: false);
+ codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace1", syntaxTreeNode.Object);
+ codeBuilderContext.CodeTreeBuilder.AddUsingChunk("FakeNamespace2.SubNamespace", syntaxTreeNode.Object);
+ var codeBuilder = language.CreateCodeBuilder(codeBuilderContext);
// Act
var result = codeBuilder.Build();
- BaselineWriter.WriteBaseline(@"test\Microsoft.AspNet.Razor.Test\TestFiles\CodeGenerator\CS\Output\CSharpCodeBuilder.cs", result.Code);
+ BaselineWriter.WriteBaseline(
+ @"test\Microsoft.AspNet.Razor.Test\TestFiles\CodeGenerator\CS\Output\CSharpCodeBuilder.cs",
+ result.Code);
var expectedOutput = TestFile.Create("TestFiles/CodeGenerator/CS/Output/CSharpCodeBuilder.cs").ReadAllText();
diff --git a/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/ChunkVisitorTests.cs b/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/ChunkVisitorTests.cs
index b387b4e443..e0732c36d9 100644
--- a/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/ChunkVisitorTests.cs
+++ b/test/Microsoft.AspNet.Razor.Test/Generator/CodeTree/ChunkVisitorTests.cs
@@ -25,13 +25,14 @@ namespace Microsoft.AspNet.Razor
private static Mock> CreateVisitor()
{
- var context = CodeGeneratorContext.Create(new RazorEngineHost(new CSharpRazorCodeLanguage()),
- "myclass",
- "myns",
- string.Empty,
- shouldGenerateLinePragmas: false);
+ var codeBuilderContext = new CodeBuilderContext(
+ new RazorEngineHost(new CSharpRazorCodeLanguage()),
+ "myclass",
+ "myns",
+ string.Empty,
+ shouldGenerateLinePragmas: false);
var writer = Mock.Of();
- return new Mock>(writer, context);
+ return new Mock>(writer, codeBuilderContext);
}
private class MyTestChunk : Chunk
diff --git a/test/Microsoft.AspNet.Razor.Test/RazorTemplateEngineTest.cs b/test/Microsoft.AspNet.Razor.Test/RazorTemplateEngineTest.cs
index da7ae56d11..de5b09d984 100644
--- a/test/Microsoft.AspNet.Razor.Test/RazorTemplateEngineTest.cs
+++ b/test/Microsoft.AspNet.Razor.Test/RazorTemplateEngineTest.cs
@@ -114,19 +114,21 @@ namespace Microsoft.AspNet.Razor.Test
{
// Arrange
var mockHost = new Mock(new CSharpRazorCodeLanguage()) { CallBase = true };
- var context = CodeGeneratorContext.Create(mockHost.Object,
- "different-class",
- "different-ns",
- string.Empty,
- shouldGenerateLinePragmas: true);
- var expected = new CSharpCodeBuilder(context);
+ var codeBuilderContext = new CodeBuilderContext(
+ mockHost.Object,
+ "different-class",
+ "different-ns",
+ string.Empty,
+ shouldGenerateLinePragmas: true);
- mockHost.Setup(h => h.DecorateCodeBuilder(It.IsAny(), context))
+ var expected = new CSharpCodeBuilder(codeBuilderContext);
+
+ mockHost.Setup(h => h.DecorateCodeBuilder(It.IsAny(), codeBuilderContext))
.Returns(expected);
var engine = new RazorTemplateEngine(mockHost.Object);
// Act
- var actual = engine.CreateCodeBuilder(context);
+ var actual = engine.CreateCodeBuilder(codeBuilderContext);
// Assert
Assert.Equal(expected, actual);