protected virtual XmlElement serialize(Node_Worker node)
 {
     XmlElement elem = _doc.CreateElement(node.typeName, desible1NS);
     append<INode_Expression>(elem, node.@face, "face");
     append<Node_Worker>(elem, node.@childWorkers, "child worker");
     append<Node_MemberImplementation>(elem, node.@memberImplementations, null);
     return elem;
 }
Example #2
0
        //worker
        public static IWorker evaluate(Node_Worker node, IScope scope, IObject owner)
        {
            IList<IWorker> children = new List<IWorker>();
            foreach( Node_Worker child in node.childWorkers )
            children.Add(evaluate(child, scope, owner));

            WorkerBuilder builder = new WorkerBuilder(
            Bridge.toNativeInterface(Executor.executeAny(node.face, scope)),
            owner,
            children );
            foreach( Node_MemberImplementation nmi in node.memberImplementations ) {
            Node_MemberType type = nmi.memberType;
            if( type.value == MemberType.GETTER )
                builder.addPropertyGetter(
                    nmi.name.value, Executor.executeAny(nmi.function, scope));
            if( type.value == MemberType.SETTER )
                builder.addPropertySetter(
                    nmi.name.value,
                    Executor.executeAny(nmi.function, scope));
            }
            return builder.compile();
        }