/// <summary> /// Concatenates two path atoms together. /// </summary> public PathAtom Concat(StringTable table, PathAtom addition) { Contract.RequiresNotNull(table); Contract.Requires(IsValid); Contract.Requires(addition.IsValid); StringId newId = table.Concat(StringId, addition.StringId); return(new PathAtom(newId)); }
/// <summary> /// Concatenates two path atoms together. /// </summary> public SymbolAtom Concat(StringTable table, SymbolAtom addition) { Contract.Requires(table != null); Contract.Requires(IsValid); Contract.Requires(addition.IsValid); Contract.Ensures(Contract.Result <SymbolAtom>().IsValid); StringId newId = table.Concat(StringId, addition.StringId); return(new SymbolAtom(newId)); }