internal CompilationState(RoslynIntrospector introspector, HandlebarsTemplate template)
 {
   Introspector = introspector;
   Template = template; 
   if (!(template is StaticHandlebarsTemplate))
   {
     INamedTypeSymbol modelSymbol = Template.ModelFullyQualifiedName.Evaluate(Introspector);
     if (modelSymbol == null)
       Errors.Add(new HandlebarsTypeError($"Could not find Type in ModelToken '{Template.ModelFullyQualifiedName}'!", HandlebarsTypeErrorKind.UnknownViewModel, 1, 1));
     ContextStack.Push(new Context("viewModel", modelSymbol));
   }
   resultStack.Push(new List<StatementSyntax>());      
 }
Exemple #2
0
 internal virtual INamedTypeSymbol Evaluate(RoslynIntrospector introspector)
 {
     return introspector.GetTypeSymbol(MetadataName);
 }
Exemple #3
0
 internal override INamedTypeSymbol Evaluate(RoslynIntrospector introspector)
 {
     INamedTypeSymbol containingType = introspector.GetTypeSymbol($"{MetadataName}`{TypeParameters.Count}");
       return containingType.Construct(TypeParameters.Select(x => x.Evaluate(introspector)).ToArray());
 }
 public CodeGenerationVisitor(RoslynIntrospector introspector, HandlebarsTemplate template)
 {
     state = new CompilationState(introspector, template);
       state.Introspector = introspector;
 }