Ejemplo n.º 1
0
        public override void AfterVisit(AttributeNode attributeNode)
        {
            if (_propertyValueEmitter == null)
                _propertyValueEmitter = EmitterNode.Lambda<VPropertyValue>((d, r) => null);

            var valueEmitter = _propertyValueEmitter;
            _properties.Peek().Add(EmitterNode.AsList(EmitterNode.Lambda((d, r) => new VProperty(attributeNode.Name, valueEmitter.Execute(d, r)))));

            _propertyValueEmitter = null;
        }
Ejemplo n.º 2
0
 public override void Visit(ConstantAttributeContent attributeContent)
 {
     _propertyValueEmitter = EmitterNode.Lambda((d, r) => new StringVPropertyValue(attributeContent.Text));
 }
Ejemplo n.º 3
0
        public override void Visit(AttributeContentStatement constantAttributeContent)
        {
            _expressionVisitor.EnterScope(constantAttributeContent.Expression);
            var emitter = _expressionVisitor.LeavePropertyValueScope(constantAttributeContent.Expression);

            _propertyValueEmitter = EmitterNode.Lambda((d, r) => GetPropertyValue(emitter, d, r));
        }
Ejemplo n.º 4
0
 public override void AfterVisit(Document document)
 {
     var emitter = EmitterNode.Many(LeaveScope());
     DocumentFunc = EmitterNode.Lambda((d, r) => new VNode(emitter.Execute(d, r)));
 }