public static ITerminalRef<NonterminalType> SetNodeType(this INonterminal source, ITerminalRef<NonterminalType> value) { source[NodeTypeIndex] = value; return value; }
public static void InsertToProperties(ITerminalRef<NonterminalType> nodeType, ITerminalRef<ITypeDeclaration> type, ref IList<INodeRef> list) { list.Insert(NodeTypeIndex, nodeType); list.Insert(TypeIndex, type); }
public static Collection<INodeRef> ToProperties( ITerminalRef<ITypeDeclaration> type, IBlockFormulaRef parentBlock, IBlockFormulaRef childBlocks, INonterminalRef variables, INonterminalRef formulas, INonterminalRef result) { var list = (IList<INodeRef>)new List<INodeRef>(); INonterminalMixin.InsertToProperties(new NodeTypeRef(NonterminalType.Block), type, ref list); list.Insert(ParentBlockIndex, parentBlock); list.Insert(ChildBlocksIndex, childBlocks); list.Insert(VariablesIndex, variables); list.Insert(FormulasIndex, formulas); list.Insert(ResultIndex, result); return new Collection<INodeRef>(list); }
public static ITerminalRef<ITypeDeclaration> SetType(this INonterminal source, ITerminalRef<ITypeDeclaration> value) { source[TypeIndex] = value; return value; }
protected internal VariableFormulaRef(string name, INodeRef referrers, ITerminalRef<ITypeDeclaration> type, ITerminalRef<string> variableName) : base(name, referrers, IVariableFormulaMixin.ToProperties(type, variableName)) { this.variableName = variableName; }