public override void VisitView(ResolvedTreeRoot view) { lastMetadata = view.Metadata; var wrapperClassName = CreateControlClass(className, view.Metadata.Type); emitter.BuilderDataContextType = view.DataContextTypeStack?.DataContextType; // build the statements emitter.PushNewMethod(DefaultViewCompilerCodeEmitter.BuildControlFunctionName); var pageName = emitter.EmitCreateObject(wrapperClassName); emitter.EmitSetAttachedProperty(pageName, typeof(Internal).FullName, Internal.UniqueIDProperty.Name, pageName); if (view.Metadata.Type.IsAssignableFrom(typeof(DotvvmView))) { foreach (var directive in view.Directives) { emitter.EmitAddDirective(pageName, directive.Key, directive.Value); } } controlName = pageName; base.VisitView(view); emitter.EmitReturnClause(pageName); emitter.PopMethod(); }
public virtual void VisitView(ResolvedTreeRoot view) { DefaultVisit(view); }