public override bool Visit <T, TProperty, TElement>(EachNode <T, TProperty, TElement> node, Func <RuntimeVisitor, bool> next) { Append("EachNode[{0}]", Tokens <T>()); return(Indent(next)); }
public virtual bool Visit <T, TProperty, TElement>(EachNode <T, TProperty, TElement> node, Func <RuntimeVisitor, bool> next) where T : class where TProperty : class, IEnumerable { return(next(this)); }
public override bool Visit <TT, TTProperty, TTElement>(EachNode <TT, TTProperty, TTElement> node, Func <RuntimeModelVisitor, bool> next) { var locator = this as EachNodeSelector <TT, TTProperty, TTElement>; if (locator != null) { locator._node = node; return(false); } return(base.Visit(node, next)); }
public override bool Visit <T, TProperty, TElement>(EachNode <T, TProperty, TElement> node, Func <RuntimeVisitor, bool> next) { _current = _vertices.Get(node.Id, id => new Vertex(typeof(EachNode <, ,>), typeof(TElement), typeof(T).Tokens() + "." + typeof(TProperty).GetShortName() + "[n]")); if (_stack.Count > 0) { _edges.Add(new Edge(_stack.Peek(), _current, _current.TargetType.Name)); } return(Next(() => base.Visit(node, next))); }
private Node parseEach() { Token token = expect(typeof(Each)) ; Each eachToken = (Each)token; EachNode node = new EachNode(); node.setValue(eachToken.getValue()); node.setKey(eachToken.getKey()); node.setCode(eachToken.getCode()); node.setLineNumber(eachToken.getLineNumber()); node.setFileName(filename); node.setBlock(block()); if (peek() is Else) { nextToken(); node.setElseNode(block()); } return(node); }
public void Select <TNode>(Node <TNode> node) where TNode : class { _node = null; node.Accept(this); if (_node == null) { EachNode <T, TProperty, TElement> eachNode = CreateNode(); var parentNode = node as Node <Token <T, TProperty> >; if (parentNode == null) { throw new ArgumentException("Expected " + typeof(T).Tokens() + ", but was " + typeof(TNode).Tokens()); } parentNode.AddActivation(eachNode); _node = eachNode; } _next.Select(_node); }
public override void update() { String UnitTypeList = String.Join( ",", CswNbtObjClassUnitOfMeasure.UnitTypes._All ); _CswNbtSchemaModTrnsctn.createObjectClassProp( CswNbtMetaDataObjectClass.NbtObjectClass.UnitOfMeasureClass, CswNbtObjClassUnitOfMeasure.UnitTypePropertyName, CswNbtMetaDataFieldType.NbtFieldType.List, ServerManaged: true, ListOptions: UnitTypeList ); CswNbtMetaDataNodeType WeightUnitNodeType = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Weight Unit" ); if( WeightUnitNodeType != null ) { CswNbtMetaDataNodeTypeProp WeightUnitTypeProp = WeightUnitNodeType.getNodeTypeProp( CswNbtObjClassUnitOfMeasure.UnitTypePropertyName ); WeightUnitTypeProp.DefaultValue.AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Weight.ToString(); foreach( CswNbtNode WeightNode in WeightUnitNodeType.getNodes( false, false ) ) { WeightNode.Properties[CswNbtObjClassUnitOfMeasure.UnitTypePropertyName].AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Weight.ToString(); WeightNode.postChanges( true ); } } CswNbtMetaDataNodeType VolumeUnitNodeType = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Volume Unit" ); if( VolumeUnitNodeType != null ) { CswNbtMetaDataNodeTypeProp VolumeUnitTypeProp = VolumeUnitNodeType.getNodeTypeProp( CswNbtObjClassUnitOfMeasure.UnitTypePropertyName ); VolumeUnitTypeProp.DefaultValue.AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Volume.ToString(); foreach( CswNbtNode VolumeNode in VolumeUnitNodeType.getNodes( false, false ) ) { VolumeNode.Properties[CswNbtObjClassUnitOfMeasure.UnitTypePropertyName].AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Volume.ToString(); VolumeNode.postChanges( true ); } } CswNbtMetaDataNodeType TimeUnitNodeType = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Time Unit" ); if( TimeUnitNodeType != null ) { CswNbtMetaDataNodeTypeProp TimeUnitTypeProp = TimeUnitNodeType.getNodeTypeProp( CswNbtObjClassUnitOfMeasure.UnitTypePropertyName ); TimeUnitTypeProp.DefaultValue.AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Time.ToString(); foreach( CswNbtNode TimeNode in TimeUnitNodeType.getNodes( false, false ) ) { TimeNode.Properties[CswNbtObjClassUnitOfMeasure.UnitTypePropertyName].AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Time.ToString(); TimeNode.postChanges( true ); } } CswNbtMetaDataNodeType EachUnitNodeType = _CswNbtSchemaModTrnsctn.MetaData.getNodeType( "Each Unit" ); if( EachUnitNodeType != null ) { CswNbtMetaDataNodeTypeProp EachUnitTypeProp = EachUnitNodeType.getNodeTypeProp( CswNbtObjClassUnitOfMeasure.UnitTypePropertyName ); EachUnitTypeProp.DefaultValue.AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Each.ToString(); foreach( CswNbtNode EachNode in EachUnitNodeType.getNodes( false, false ) ) { EachNode.Properties[CswNbtObjClassUnitOfMeasure.UnitTypePropertyName].AsList.Value = CswNbtObjClassUnitOfMeasure.UnitTypes.Each.ToString(); EachNode.postChanges( true ); } } }//Update()