public override TableFunction VisitTableFunction(TableFunction tf) { string str; if (tf == null) { return(null); } writer.WriteStartElement(currentTableFun); functionIds.TryGetValue(tf.MappedFunction, out str); if (str != null) { writer.WriteAttributeString("FunctionId", str); } if (tf.AccessModifier.HasValue) { writer.WriteAttributeString("AccessModifier", tf.AccessModifier.ToString()); } base.VisitTableFunction(tf); writer.WriteEndElement(); return(tf); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) { return(null); } if (tf.AccessModifier.HasValue && tf.AccessModifier.Value == AccessModifier.Private) { tf.AccessModifier = null; } return(base.VisitTableFunction(tf)); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) { return(null); } string str = "FunctionId" + currentFunctionId.ToString(CultureInfo.InvariantCulture); if ((tf.MappedFunction != null) && !functionIds.ContainsKey(tf.MappedFunction)) { functionIds.Add(tf.MappedFunction, str); currentFunctionId++; } return(tf); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) { return(null); } if (!tf.AccessModifier.HasValue) { tf.AccessModifier = (AccessModifier)4; } VisitFunction(tf.MappedFunction); return(base.VisitTableFunction(tf)); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) { return(null); } var key = new TableFunction { AccessModifier = tf.AccessModifier }; int num = FindReferencedFunctionIndex(originalDb, tf.MappedFunction); functionReferences.Add(key, num); foreach (TableFunctionParameter parameter in tf.Arguments) { key.Arguments.Add(VisitTableFunctionParameter(parameter)); } key.Return = VisitTableFunctionReturn(tf.Return); return(key); }
private TableFunction ReadTableFunction(XmlTextReader reader) { ValidateAttributes(reader, _validTableFunctionAttributes); var item = new TableFunction(); string attribute = reader.GetAttribute("FunctionId"); if (attribute == null) { throw Error.RequiredAttributeMissingViolation("FunctionId", reader.LineNumber); } if (!functionIds.Contains(attribute)) { throw Error.SchemaInvalidIdRefToNonexistentId("TableFunction", "FunctionId", attribute, reader.LineNumber); } if (cudFunctionIds.ContainsKey(attribute)) { cudFunctionIds[attribute].Add(item); } else { var list = new List <TableFunction> { item }; cudFunctionIds.Add(attribute, list); } string modifier = reader.GetAttribute("AccessModifier"); try { if (modifier == null) { item.AccessModifier = null; } else { item.AccessModifier = (AccessModifier)Enum.Parse(typeof(AccessModifier), modifier, true); } } catch (FormatException) { throw Error.InvalidBooleanAttributeValueViolation(modifier, reader.LineNumber); } catch (ArgumentException) { throw Error.InvalidEnumAttributeValueViolation(modifier, reader.LineNumber); } if (reader.IsEmptyElement) { return(item); } int returnCount = 0; while (reader.Read()) { if ((reader.NodeType == XmlNodeType.Whitespace) || !IsInNamespace(reader)) { continue; } if (reader.NodeType == XmlNodeType.Element) { string name = reader.Name; switch (name) { case "Argument": item.Arguments.Add(ReadTableFunctionParameter(reader)); continue; case "Return": item.Return = ReadTableFunctionReturn(reader); returnCount++; if (returnCount > 1) { throw Error.ElementMoreThanOnceViolation("Return", reader.LineNumber); } continue; default: throw Error.SchemaUnexpectedElementViolation(reader.Name, "TableFunction", reader.LineNumber); } } if (reader.NodeType == XmlNodeType.EndElement) { return(item); } } return(item); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) return null; string str = "FunctionId" + currentFunctionId.ToString(CultureInfo.InvariantCulture); if ((tf.MappedFunction != null) && !functionIds.ContainsKey(tf.MappedFunction)) { functionIds.Add(tf.MappedFunction, str); currentFunctionId++; } return tf; }
public override TableFunction VisitTableFunction(TableFunction tf) { string str; if (tf == null) return null; writer.WriteStartElement(currentTableFun); functionIds.TryGetValue(tf.MappedFunction, out str); if (str != null) writer.WriteAttributeString("FunctionId", str); if (tf.AccessModifier.HasValue) writer.WriteAttributeString("AccessModifier", tf.AccessModifier.ToString()); base.VisitTableFunction(tf); writer.WriteEndElement(); return tf; }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) return null; if (tf.AccessModifier.HasValue && tf.AccessModifier.Value == AccessModifier.Private) tf.AccessModifier = null; return base.VisitTableFunction(tf); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) return null; if (!tf.AccessModifier.HasValue) tf.AccessModifier = (AccessModifier) 4; VisitFunction(tf.MappedFunction); return base.VisitTableFunction(tf); }
public override TableFunction VisitTableFunction(TableFunction tf) { if (tf == null) return null; var key = new TableFunction { AccessModifier = tf.AccessModifier }; int num = FindReferencedFunctionIndex(originalDb, tf.MappedFunction); functionReferences.Add(key, num); foreach (TableFunctionParameter parameter in tf.Arguments) { key.Arguments.Add(VisitTableFunctionParameter(parameter)); } key.Return = VisitTableFunctionReturn(tf.Return); return key; }
private TableFunction ReadTableFunction(XmlTextReader reader) { ValidateAttributes(reader, new[] {"FunctionId", "AccessModifier"}); var item = new TableFunction(); string attribute = reader.GetAttribute("FunctionId"); if (attribute == null) throw Error.RequiredAttributeMissingViolation("FunctionId", reader.LineNumber); if (!functionIds.Contains(attribute)) throw Error.SchemaInvalidIdRefToNonexistentId("TableFunction", "FunctionId", attribute, reader.LineNumber); if (cudFunctionIds.ContainsKey(attribute)) { cudFunctionIds[attribute].Add(item); } else { var list = new List<TableFunction> {item}; cudFunctionIds.Add(attribute, list); } string modifier = reader.GetAttribute("AccessModifier"); try { if (modifier == null) item.AccessModifier = null; else item.AccessModifier = (AccessModifier) Enum.Parse(typeof (AccessModifier), modifier, true); } catch (FormatException) { throw Error.InvalidBooleanAttributeValueViolation(modifier, reader.LineNumber); } catch (ArgumentException) { throw Error.InvalidEnumAttributeValueViolation(modifier, reader.LineNumber); } if (reader.IsEmptyElement) return item; int returnCount = 0; while (reader.Read()) { if ((reader.NodeType == XmlNodeType.Whitespace) || !IsInNamespace(reader)) continue; if (reader.NodeType == XmlNodeType.Element) { string name = reader.Name; switch (name) { case "Argument": item.Arguments.Add(ReadTableFunctionParameter(reader)); continue; case "Return": item.Return = ReadTableFunctionReturn(reader); returnCount++; if (returnCount > 1) throw Error.ElementMoreThanOnceViolation("Return", reader.LineNumber); continue; default: throw Error.SchemaUnexpectedElementViolation(reader.Name, "TableFunction", reader.LineNumber); } } if (reader.NodeType == XmlNodeType.EndElement) return item; } return item; }