Commit Graph

228 Commits

Author SHA1 Message Date
N. Taylor Mullen 2d2c2cdf0f Add warning disable for unused variable warnings for TagHelper fields.
- Added a 0414 warning disable/restore around the __tagHelperStringValueBuffer since it's the only TagHelper utility field that "may" never be used.
- Regenerated baselines for TagHelper test files.

#260
2015-01-13 14:44:22 -08:00
Ajay Bhargav Baaskaran ff3ddfcc53 removed SessionState directive 2014-12-29 14:56:20 -08:00
N. Taylor Mullen e30e74dc5a Handle unclosed and invalid structure HTML tags for TagHelpers.
- Added detection of unclosed tags (tags without begin/end).
- Added recovery of potentially unclosed tags.
- Added detection of invalid structure tags (tags that do not end with '>').
- Modified detection of bad attribute values to be parse errors instead of runtime errors.
- Modified RazorParser to sort errors. This made writing tests more intuitive and ultimately ensures that the editor shows errors in the correct order.
- Added tests to validate invalid tag structure.
- Added tests to validate invalid attributes.
- Added tests to validate unclosed tags.

#104
2014-12-22 14:28:35 -08:00
N. Taylor Mullen a86b0dca3e Add line mappings to project TagHelper attribute values.
- We now create LineMappings for instances where a TagHelper's attribute value is not of a string type.
- This will enable the Razor editor to create projections from .cshtml => .cs for TagHelper attributes.
- Modified the TagHelperCodeGenerator and TagHelperBlockBuiler to accurately track the attribute values start locations so it could flow into code generation.
- Modified existing tests to account for the new line mappings.

#207
2014-12-19 17:26:33 -08:00
Pranav K 67e8e8b421 Reacting to System.Threading version changes 2014-12-15 14:49:19 -08:00
DamianEdwards 7890a1b34c Added TagHelperContext.UniqueId:
- The ID is created at view compilation time and is unique per TagHelperExecutionContext and thus per HTML element in the source for which Tag Helpers will run
- #241
2014-12-12 16:25:42 -08:00
N. Taylor Mullen 170b7a76fd Expose TagHelperDescriptors on TagHelperBlock.
- This will enable tooling to determine which descriptors are relevant to which TagHelperBlocks in the syntax tree.
2014-12-11 14:19:01 -08:00
N. Taylor Mullen c2fae3b6fc Change TagHelperDescriptor to 1 ctor so it can be deserialized.
Made existing ctor that was only ever used in Razor tests to be internal.
2014-12-05 15:08:39 -08:00
N. Taylor Mullen cc0d5dd324 Add found TagHelperDescriptors on a Razor page to GeneratorResults.
- Ultimately this enables tooling to inspect what TagHelperDescriptors were found on a document and construct HTML schema based off of them.
- Added XML doc on the classes I touched that didn't have docs.
- Added [NotNull] to the result construct parameters.
- Added tests to validate that TagHelperDescriptors flow when found after parsing a Razor document.

#215
2014-12-05 14:53:06 -08:00
Victor Hurdugaci 810146115b Add schema version to kproj files 2014-11-25 11:00:49 -08:00
NTaylorMullen c947e9ffaa Changed TagHelper attributes to be SpanKind.Code if not string typed.
- Also added tests to validate that non string TagHelper attributes inherit the SpanKind.COde behavior.
- Removed a block wrapping around single markup spans.
2014-11-24 11:21:20 -08:00
N. Taylor Mullen 0d60da296d Add and modify tests to validate TagHelperDescriptorResolver doesn't throw.
- Modified existing tests that expected the resolvers to throw to no longer throw.
- Added new test to validate that unexpected errors that are thrown are also handled.

#210
2014-11-24 10:30:11 -08:00
N. Taylor Mullen ed9c432889 Modify TagHelperDescriptorResolver and dependencies to not throw.
- Changed the TagHelperDescriptorResolver, TagHelperTypeResolver and AddOrRemoveTagHelperSpanVisitor to not throw when they're unable to understand the users directive lookup text.
- This involved utilizing the new ParserErrorSink to capture errors found during TagHelperDescriptor resolution.

#210
2014-11-24 10:30:01 -08:00
Doug Bunting 8f81007517 Add xml-docs-test target to end of default build
- #EngineeringDay
- correct a couple of XML doc issues in the repo
2014-11-20 15:24:49 -08:00
Doug Bunting 26034fb5b2 Apply VS' FormatDocument and RemoveAndSort to all *.cs files
- #EngineeringDay

Did not change any files under test/Microsoft.AspNet.Razor.Test/TestFiles
- avoiding need to redo hashes
2014-11-20 14:43:16 -08:00
Doug Bunting 0f724a51df Delete trailing whitespace
- #EngineeringDay
- Total replaced: 506  Matching files: 118

Did not change any files under test/Microsoft.AspNet.Razor.Test/TestFiles
- avoiding need to redo hashes
2014-11-20 14:16:32 -08:00
N. Taylor Mullen 15348b0468 Refactored error handling mechanisms for parsing.
- This is needed to make passing error handling devices into more pieces of the parser easy.

#210
2014-11-20 10:59:09 -08:00
N. Taylor Mullen 62e07305cf Add hook to add TagHelperDirectiveDescriptors.
- Also added a test to validate that you can hook into the TagHelperDescriptorResolutionContext.

#214
2014-11-20 10:44:03 -08:00
N. Taylor Mullen c35d19142c Add ability to resolve all TagHelperDescriptors with one method call.
- Modified the AddOrRemoveTagHelperSpanVisitor to no longer manage TagHelperDescriptors found in the system. Instead it now manages TagHelperDirectiveDescriptors which are then used to resolve TagHelperDescriptors.
- Changed the signature of ITagHelperDescriptorResolver to take in a TagHelperResolutionContext which will allow us to pass more information without breaking tooling.
- TagHelperDescriptorResolver now resolves all TagHelperDescriptors at once and manages descriptors found in the system based on values on the provided TagHelperDirectiveDescriptors.

#214
2014-11-20 10:42:46 -08:00
N. Taylor Mullen 64a5b8ee22 Addressed code review comments. 2014-11-19 10:07:33 -08:00
N. Taylor Mullen 829faaaa4b Change TagHelperAttributeDescriptor to not depend on PropertyInfo.
- Right now the only information that is used from the PropertyInfo is the PropertyName and the PropertyType, therefore changed the PropertyInfo property on TagHelperAttributeDescriptor to be AttributeTypeName since we already had an accessor for AttributePropertyName.
- Modified test comparers to validate type names.

#214
2014-11-14 10:45:14 -08:00
N. Taylor Mullen 2200f7dc3a Add AssemblyName to TagHelperDescriptor.
- TagHelperDescriptor's need a way to showcase where they came from so tooling can reverse look them up.
- Update tests to specify TagHelperDescriptor assembly names.

#214
2014-11-14 10:45:08 -08:00
N. Taylor Mullen 8d4bdbdb84 Allow invalid HTML to be in Razor pages.
- Modified the TagHelperParseTreeRewriter to not remove invalid HTML snippets.
- Added tests to validate invalid HTML is allowed.

#212
2014-11-14 10:30:51 -08:00
Victor Hurdugaci 39accef1ad Update KProj to the latest format 2014-11-12 15:24:16 -08:00
N. Taylor Mullen 54155e47e5 Add DesignTime code generation support for TagHelpers.
- We now generate a subset of the TagHelper runtime code during DesignTime. This enables users to see errors in the editor
- Added tests to validate design time code generation.
- Refactored runtime code generation tests (we now use a lot of their infrastructure for the design time pieces).

#208
2014-11-07 10:57:50 -08:00
Kirthi Krishnamraju a858373409 Merge branch 'release' into dev 2014-10-29 13:26:50 -07:00
Kirthi Krishnamraju 85d0ddc45a Added description in project.json for all projects 2014-10-29 11:38:09 -07:00
N. Taylor Mullen 7ab25918e0 Add tests to validate @removetaghelper functionality.
- Added utility methods to construct valid SyntaxTreeNodes that represent the @removetaghelper directive.
- Added parse level unit tests to validate the @removetaghelper generates an accurate SyntaxTreeNode.
- Added parse level unit tests to validate the @removetaghelper throws with bad formats.
- Added TagHelperRegistration unit tests to validate the AddOrRemoveTagHelperCodeGenerators are understood and affect the descriptors found.
- Added Designtime mapping tests to validate correct source mappings are made to ensure proper coloring and lack-of C# intellisense.
- Added end-to-end tests to validate @removetaghelper can essentially disable TagHelpers on a page.

#112
2014-10-29 11:31:00 -07:00
N. Taylor Mullen 30221f7ce0 Add @removetaghelper directive.
- Added parsing recognition of the @removetaghelper directive.
- Added TagHelperDescriptor handling: @removetaghelper will cause the system to ignore TagHelpers that are added via @addtaghelper.
- Added Chunk generation, this involved building a CodeGenerator (soon to be named ChunkGenerator) that pulled out the stringified @removetaghelper lookup text which it then uses to construct a RemoveTagHelperChunk.
- Modified CodeVisitors to now understand RemoveTagHelperChunk's.
- Added code generation, this involved creating a dummy string in order to give the @removetaghelper "..." coloring.

#112
2014-10-29 10:24:57 -07:00
Pranav K 21d64b4ae2 MQ: Cleanup to use var 2014-10-22 15:35:43 -07:00
Pranav K 473f642dde Modifying tests to run in both in aspnet50 and aspnetcore50
* Additionally trimming references from project.json
2014-10-19 21:18:43 -07:00
Pranav K 99fe8294e9 Modifications to support providing tag descriptors from derived hosts 2014-10-16 07:11:46 -07:00
N. Taylor Mullen f8020e8e85 Make @addtaghelper directive not be nested.
- Whenever we encounter an @addtaghelper directive we add it to the CodeTree at the top level (not nested in any chunk blocks).
- Added a test to validate that @addtaghelper inside of a ChunkBlock doesn't add to the ChunkBlock's children.

#195.
2014-10-15 12:10:27 -07:00
Pranav K a2a05e7153 Modify CSharpCodeWriter to generate async lambdas for section
Fixes #85
2014-10-13 17:00:38 -07:00
Yishai Galatzer 7364c6f6db Expose code builder on generator result, and some tidying up 2014-10-13 09:30:56 -07:00
Pranav K 2637894ab6 Reacting to CLR package versioning changes 2014-10-10 10:34:04 -07:00
N. Taylor Mullen ae4adf6af6 Fixed rebasing issues. 2014-10-09 13:48:23 -07:00
NTaylorMullen 74974d371c Add error mechanism for TagHelperParseTreeRewriter.
- Replaced customer facing Debug.Assert with a new error mechanism to surface errors to GenerateCode callers.
- The new mechanism is a general purpose way for ISyntaxTreeRewriters to add errors to the parsing phase.

#174
2014-10-09 12:58:14 -07:00
N. Taylor Mullen ec638b147a Add ContentBehaviorAttribute for TagHelpers.
- Added detection of custom ContentBehaviors via the ContentBehaviorAttribute in the TagHelperDescriptorFactory.
- Updated some comments in the ContentBehavior enum.
- Add tests to validate custom content behavior resolution.

#122
2014-10-09 12:58:09 -07:00
NTaylorMullen f9c70a0644 Add TagHelperDescriptorResolver.
- This involved also adding a TagHelperTypeResolver and TagHelperDescriptorFactory.
- The TagHelperTypeResolver is responsible for determining the format of lookup text's used throughout the tag helper system.  By default it handles the following formats:
"assemblyName"
"specificType, assemblyName"
- It also restricts what types are considered TagHelpers.  In this implementation we only accept public, non-nested, non-abstract, non-generic TagHelpers.
- The TagHelperDescriptorFactory is responsible for converting a Type to a TagHelperDescriptor.
- Added tests to validate TagHelperDescriptorResolver, TagHelperTypeResolver and TagHelperDescriptorFactory.

#99
#158
2014-10-09 12:57:49 -07:00
N. Taylor Mullen b67b8dae3d Add @addtaghelper directive.
- Also added some infrastructure pieces for it such as the ITagHelperDescriptorResolver and the default implementation TagHelperDescriptorResolver which will be filled out in a later commit.
- Reworked some extensibility points to allow accessibility of the descriptor resolvers per offline discussions.

#111
2014-10-09 12:57:43 -07:00
NTaylorMullen 2b6b437952 Add extensibility point for TH attribute code gen.
- Enabled the CSharpCodeBuilder to create the CSharpCodeVisitor which exposes a CSharpTagHelperCodeRenderer which is indirectly used to render attribute values.
- Fixed up some existing classes that just new'd up the CSharpCodeVisitor class to instead take in the decorated version.

#119
2014-10-09 12:57:37 -07:00
N. Taylor Mullen 50fa3ee3e3 Create TagHelper specific C# code Generation.
- Added TagHelperChunk generation.
- Added CSharp visitors to understand TagHelperChunks and render corresponding C# code.
- Refactored some code in the CSharpCodeVisitor so it could be utilized in other classes.
- Added a CSharpFieldDeclarationVisitor to render declaration pieces for TagHelper's
- Added metadata to represent specific TagHelper code generation constructs.

#72
2014-10-09 12:57:31 -07:00
N. Taylor Mullen 0b5f0cd565 Rebased onto latest dev.
- Fixed tag helper parse tree visitor rebase error.
2014-10-09 12:50:56 -07:00
N. Taylor Mullen 950828cbab Refactored CodeGeneratorContext to CodeBuilderContext.
- Needed to separate the context's of "generation" and "building" to enable the communication of the TagHelperProvider.
2014-10-09 12:50:49 -07:00
N. Taylor Mullen 3cba84104d Add TagHelper parse tree visitor.
- The visitor looks for TagBlock's that match registered TagHelpers and rebuilds them into TagHelperBlock's.
- Added the code generator and corresponding chunk for a TagHelperBlock.
- Added syntax tree specific objects & helper methods to create accurate tag helper structures.

#71
2014-10-09 12:50:39 -07:00
Pranav K 83da8e257d Generate code for expressions in design time to enable intellisense
Fixes #80
2014-10-08 09:53:27 -07:00
David Fowler 9bb460d5ab Fixup references 2014-10-05 12:04:53 -07:00
David Fowler 01605cd695 Fixed project.json casing 2014-10-04 02:52:07 -07:00
Pranav K f913d8929f Updating CSharpCodeVisitor to generate implicit expressions on a single
line

Fixing 151
2014-10-01 17:20:00 -07:00
Pranav K e5f157565c Removing out var usage 2014-10-01 14:33:14 -07:00
Pranav K d58a6c8c1b Don't calculate checksum in design time mode 2014-09-29 15:33:33 -07:00
Pranav K 5369842384 Ensure pragma checksum is prepended to generated file
Fixes #160
2014-09-29 14:45:26 -07:00
Pranav K 11ee402eec Reviving support for instrumentation in CSharpCodeVisitor
Fixes #42
2014-09-22 17:59:29 -07:00
Ryan Nowak 131c973853 Fix for #90 - removing Enum.HasFlags
This is a perf improvement of about 500ms for our razor code generation
benchmark on my dev box. That's about .8% of the overall execution time of
this benchmark.

This change will remove a bunch of unnessary allocations from the
parsing/code-generation path, and should improve responsiveness.

For reference Enum.HasFlags performs boxing of the enum value, and then
does a type comparison to see if the types are the same. This is
significantly more costly than a normal bitwise and comparison, and it
results in allocations.
2014-09-22 12:45:52 -07:00
Ryan Nowak 2d9b3dd4fb Fix for #91 - Turn some commonly allocated types into structs
These types are allocated for every state transition in the parser (State)
or every character that's read (character reference) and are fairly
compact. Turning them into structs will remove a significant number of unnecessary
allocations in the parser.

For our razor code generation benchmark, making these changes yields about
500-750ms of speedup (out of 40000ms) or about 1%.
2014-09-22 11:28:54 -07:00
Pranav K a5668bdbab Make CompleteBlock accessible to derived parser 2014-09-17 12:46:00 -07:00
Pranav K 658eed4c0f Removing Activator.CreateInstance call from CodeTreeBuilder 2014-09-11 11:55:01 -07:00
N. Taylor Mullen 555615f60e Add TagHelper registration system.
- This registration system accepts tag descriptors that it then uses to feed requests for tag helpers.
- Added some infrastructure pieces that are used to build up valid tag helper descriptors.

#70
2014-09-08 17:14:22 -07:00
N. Taylor Mullen 82b45387a1 Fix nested tags in script tag.
#115
2014-09-08 17:08:36 -07:00
David Fowler 947ec326e0 Updated to use the new target framework in project.json 2014-08-28 23:43:51 -07:00
N. Taylor Mullen 6114d5d269 Modify parser to group html begin/end elements.
- Added a "Tag" block type.
- Wrapped all begin/end elements in a "Tag" Markup block.

#75
2014-08-26 14:53:09 -07:00
Ryan Nowak ff944e5948 Fix for Razor #84 - Optimize GetSourceLocation
GetSourceLocation is frequently called to determine the location mappings
between the original document and the generated code.

The old implementation did a number of ToString and replace operations to
simplify the math on tracking the position - which put it front and center
in our performance measurements - about 25% of all execution time in a
sampling profile of our perf test.

The new code tracks position as code is written, and avoids allocations.
After these changes GetSourceLocation doesn't show up in the profile.
2014-08-20 13:22:23 -07:00
Pranav K 896cce5b51 Reacting to System.IO package version change 2014-08-20 06:56:35 -07:00
Pranav K 1a8278b7c2 Reacting to System.IO.FileSystem package version change 2014-08-18 15:10:12 -07:00
David Fowler 430105e713 Removed source files from the project 2014-08-15 09:24:16 -07:00
Pranav K 8aef9ff651 Reacting to System.Collections version change 2014-07-14 15:20:49 -07:00
David Fowler 0d1f308753 Renamed configurations to frameworks in project.json 2014-07-13 22:00:23 -07:00
N. Taylor Mullen c7545a0354 Add a virtual BuildClassDeclaration method to CSharpCodeBuilder.
This extensibility point needs to be an override and not a pure visitor due to how the class declaration is created (only 1 right way to write the class).

#76
2014-06-27 10:26:52 -07:00
Brice Lambson c0fe1428b2 Bump version to 4.0.0-* 2014-06-19 16:44:54 -07:00
N. Taylor Mullen 8099dcda63 Remove error for "@" in nested codeblocks.
Also removed the corresponding test and resource for this change.

#64
2014-06-18 14:51:31 -07:00
N. Taylor Mullen 9a6a3af450 Transition Microsoft.AspNet.Razor from csproj to kproj.
Needed to modify some source to use new resx format.

#32
2014-06-04 14:58:01 -07:00
N. Taylor Mullen dd90767036 Fix build warnings in razor repo.
This involved indicating that we really wanted to hide certain methods.

#43
2014-06-04 14:25:13 -07:00
Pranav K 4f255f8583 Changes for @inject support
Fixes #35
2014-06-03 14:20:11 -07:00
N. Taylor Mullen d0541ad5b2 Modify await keyword to accept dots.
When doing Html.Foo we used to not accept the "." and then group the rest of the line together at the end.

#45
2014-05-15 10:51:59 -07:00
Yishai Galatzer bd7045b258 Cleanup assemblyinfo.cs + .gitignore 2014-05-11 08:54:40 -07:00
N. Taylor Mullen 662dc087bd Addressed code review comments.
#28
2014-05-09 14:49:02 -07:00
N. Taylor Mullen 2800c4938a Disable async await warnings in empty Execute method.
Also removed a confusing CSharpCodeWriting method.

#28
2014-05-09 11:09:41 -07:00
N. Taylor Mullen 9b267dadbd Modify line pragma formatting supporters.
Modified the dummy line pragmas arround expression chunk blocks to be accurate to avoid bad error messages.

#30
2014-05-09 11:06:28 -07:00
Andrew Peters 477141564f Updating copyright headers 2014-05-08 23:01:26 -07:00
anpete 6c9899b586 Merge branch 'dev' of github.com:aspnet/Razor into dev 2014-05-01 17:41:03 -07:00
anpete 6c2130239f Update file headers 2014-05-01 17:40:52 -07:00
N. Taylor Mullen c4f034e8ad Re-updated version to System.IO.FileSystem. 2014-05-01 17:10:57 -07:00
N. Taylor Mullen 039c304d25 Upgrade FileSystem dependency. 2014-05-01 17:01:58 -07:00
N. Taylor Mullen 9abd67da4b Cleaned up some code writer code.
Modified the ToString override to be GenerateCode and fixed how it cached.
2014-04-22 15:21:09 -07:00
Pranav K 9c4a6e901d Modifying DefineSection to generate HelperResult types 2014-04-01 18:32:37 -07:00
Pranav K 3ce198249d Updating CoreCLR package versions 2014-03-27 18:42:51 -07:00
N. Taylor Mullen 50314ca7e5 Add the ability for users to await expressions.
This enabled things like @await Foo().  We special case the await keyword and allow another snippet of code to follow it.
2014-03-18 12:37:07 -07:00
N. Taylor Mullen 5912475a24 Change Execute rendering to be async.
Added the using statement required for async rendering.
2014-03-17 11:28:43 -07:00
N. Taylor Mullen b1c49a2535 Remove CodeDOM from net45 Razor.
Removed all System.CodeDOM related code from net45.  This involved modifying some existing code paths and most of all reducing the complexity of all of the CodeGenerators.  Added some factory creation methods to build CodeBuilders.  Ran code analysis and made adjustments to pass analysis.
2014-03-14 16:05:23 -07:00
David Fowler 10c10ab2e7 Added required packages for K 2014-03-07 02:46:45 -08:00
N. Taylor Mullen 6ea8d7721b Re-applied code review changes for formatting fix.
The previous fix was accidentally overridden.  Also changed how we
render chunk block's children.  New way avoids casts and removes logic
from base.
2014-03-05 11:24:06 -08:00
N. Taylor Mullen 549e36b803 Fix CodeGeneration process to format correctly within cshtml.
Added newlines inbetween ending line pragma's and code.  Without the extra line the document does not format correctly.  Separated expression and statement padding functionality.  Statements need to have 1 less padding to account for the transition.  Changed how runtime and design time code generates to enable accurate debugging experiences in runtime and functional formatting experiences during design time.
2014-03-04 12:06:00 -08:00
N. Taylor Mullen 9f05cf8fbb Write helper method template functions with no indent.
Also removed capturing of the LineMapping (wasn't being used) for the CSharpHelperVisitor.
2014-02-26 11:12:02 -08:00
N. Taylor Mullen 49ffb5ae81 Map semicolon's in using statements.
This allows for users to write "@using System;" and still have proper intellisense and mapping.  Also removed some legacy code that I came across when running tests.
2014-02-25 14:14:02 -08:00
Nick Guerrera 2bdbd49966 Remove #if NET45 for GetUnicodeCategory and just use CharUnicodeInfo everywhere.
.NET FX Team will not be adding Char.GetUnicodeCategory because it breaks layering. We cannot have a dependency form System.Runtime.dll to System.Globalization.dll.
2014-02-17 23:28:52 -08:00
N. Taylor Mullen f43a17369c Transition tests to use new CodeTree.
Previously they would use CodeDOM dependent concepts.
2014-02-13 15:03:19 -08:00
N. Taylor Mullen da192d7c96 Fix scoping spacing for pragmas and curly braces.
If the writer did not write anything it would throw when attempting to do .Last().
2014-02-13 14:32:04 -08:00
N. Taylor Mullen cadc2fc67e Add comparison methods to mapping classes.
This involved adding Equals and == methods to LineMapping.cs and MappingLocation.cs.
2014-02-13 14:32:02 -08:00
N. Taylor Mullen fa342287ad Move semicolon out from pragma for usings. 2014-02-13 14:32:00 -08:00
N. Taylor Mullen 2ff6c12347 Move helper function accessor code outside pragma. 2014-02-13 14:31:58 -08:00
N. Taylor Mullen dcf35ca20b Add padding support to the functions directive.
Exposed the CreateCodeMapping method on the CSharpCodeVisitor.
2014-02-13 14:31:38 -08:00
Pranav K 3afb31b78b Modify SetBaseTYpeCodeGenerator to use value from BaseType instead of
parsed content
2014-02-13 12:45:04 -08:00
N. Taylor Mullen 8db45f7564 Add user-based padding support.
Added a CSharpPaddingBuilder based on the existing
CodeGeneratorPaddingHelper to allow accurate padding within the generated
C# files.  Also created tests based on the existing PaddingTest tests to
verify padding functionality.
2014-02-12 12:07:39 -08:00
Pranav K 63e55ce776 Updating resx strings to use tt format 2014-02-12 10:11:23 -08:00
N. Taylor Mullen ff80c86e0c Fixed common resources resx. 2014-02-10 11:57:49 -08:00
N. Taylor Mullen d85927166b Remove unneeded chunk data.
Instead lets keep utilizing the Context's state to properly generate a C# file.
2014-02-10 11:49:49 -08:00
N. Taylor Mullen bc3d32ec74 Modify base Visitor class to be more generic.
This involved adding more boiler plate to the base of the visitor classes such as a Writer and a Context.  By following this contract for new visitors we'll ensure that visitors have enough information to add new features to Razor.
2014-02-04 14:56:00 -08:00
N. Taylor Mullen a9d4cd9089 Remove Snippet dependency
No need to have a snippet class when we only ever use the value of a snippet and only ever have one.
2014-02-04 14:53:52 -08:00
N. Taylor Mullen 57e0ef4774 Revert changes to CSharpDesignTimeHelpersVisitor.
Without the initial code tree acceptance you end up stack overflowing.  Also removed a validation check that ensures that there's always a base type (not true).
2014-02-04 11:59:50 -08:00
Pranav K 57854b2cc0 Refactoring CSharpCodeWriter
* Using CodeGeneratorContext to pass around metadata.
* Tweaks in CSharpCodeWriter to use the right type name
* Adding a sample unit test
2014-02-03 17:04:09 -08:00
Pranav K 68bb44d73e Updating Resx designer file to minimize conflicts after resx change 2014-02-03 13:33:00 -08:00
Pranav K 1634c74ff4 Remove and sort usings across the solution 2014-01-31 10:24:07 -08:00
N. Taylor Mullen 7f0878c1b8 Comment ifdefs and fix K10 functionality 2014-01-30 15:50:20 -08:00
Pranav K 9f80b7d1c8 Relocation resx file to root so that it's correctly embedded 2014-01-29 22:23:45 -08:00
N. Taylor Mullen 73dae5fcaa Added an output validator to make a best-effort attempt at validating old and new codeDOM/codeTree output. 2014-01-28 17:05:48 -08:00
David Fowler b1ff6d32d3 Fixed up resources. 2014-01-27 21:30:53 -08:00
N. Taylor Mullen 3a214ab213 ifdef all of the razor bits that are reliant on non-coreclr bits.
Big thing we're missing is Char.GetUnicodeCategory(...) and Thread.Yield.  Tried to do my best to fill in the blanks.  Ripped out VB.
2014-01-27 18:52:02 -08:00
N. Taylor Mullen 521a5c8517 Start to add a CodeTree codegen.
This addition will eventually replace CodeDOM to allow for the k10 project to build.  It is a new type of codegeneration method that is highly extensible.
2014-01-27 16:46:17 -08:00
David Fowler c1321773a7 Removed csproj files. 2014-01-25 17:24:15 -08:00
David Fowler be66f594af Updated project files. 2014-01-25 02:27:44 -08:00
David Fowler 854cb87b42 Updated version 2014-01-24 01:21:42 -08:00
David Fowler 77dd7e40eb Updated build. 2014-01-23 23:12:34 -08:00
David Fowler 084d6e3544 Added initial build. 2014-01-21 20:17:07 -08:00
N. Taylor Mullen af14969b54 Added tests project. 2014-01-18 14:18:55 -08:00
N. Taylor Mullen 72e37d7ac6 Update code to be the latest bits. 2014-01-17 15:43:57 -08:00
David Fowler 50179ad99b Removed uneeded dependencies. 2014-01-11 23:06:03 -08:00
David Fowler ff854e3e15 Initial commit. 2014-01-11 20:12:30 -08:00