Beispiel #1
0
 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>());
 }
 public CodeGenerationVisitor(RoslynIntrospector introspector, HandlebarsTemplate template)
 {
     state = new CompilationState(introspector, template);
     state.Introspector = introspector;
 }
Beispiel #3
0
 internal virtual INamedTypeSymbol Evaluate(RoslynIntrospector introspector)
 {
     return(introspector.GetTypeSymbol(MetadataName));
 }
Beispiel #4
0
        internal override INamedTypeSymbol Evaluate(RoslynIntrospector introspector)
        {
            INamedTypeSymbol containingType = introspector.GetTypeSymbol($"{MetadataName}`{TypeParameters.Count}");

            return(containingType.Construct(TypeParameters.Select(x => x.Evaluate(introspector)).ToArray()));
        }