public RelIndDefinition(RelInd relind, string baseTableName, ProbeClassifiedString source, string devDesc, FilePosition filePos) : base(relind.Name, filePos, GetExternalRefId(baseTableName, relind.Name)) { _relind = relind; _source = source; _devDesc = devDesc; _baseTableName = baseTableName; }
private void CheckPrettySignature() { if (_prettySignature == null) { var pcs = new ProbeClassifiedStringBuilder(); var spaceRequired = false; if (_privacy != FunctionPrivacy.Public) { pcs.AddKeyword(_privacy.ToString().ToLower()); spaceRequired = true; } if (_extern) { if (spaceRequired) { pcs.AddSpace(); } pcs.AddKeyword("extern"); spaceRequired = true; } if (_returnDataType != null) { if (spaceRequired) { pcs.AddSpace(); } pcs.AddClassifiedString(_returnDataType.Source); spaceRequired = true; } if (spaceRequired) { pcs.AddSpace(); } pcs.AddFunction(_funcName); pcs.AddOperator("("); spaceRequired = false; var firstArg = true; foreach (var arg in _args) { if (firstArg) { firstArg = false; } else { pcs.AddDelimiter(", "); } var argStartPos = pcs.Length; var argSource = arg.ClassifiedString; pcs.AddClassifiedString(argSource); arg.SignatureSpan = new Span(argStartPos, argStartPos + argSource.Length); } pcs.AddOperator(")"); _prettySignature = pcs.ToClassifiedString(); } }