private static XAttribute GenerateMethodAccessModifier(MethodAccessModifierAnnotation annotation) { if (annotation == null) { return(null); } AccessModifier methodAccessModifier = annotation.MethodAccessModifier; if (methodAccessModifier == AccessModifier.Unspecified) { return(null); } return(new XAttribute(EdmConstants.CodegenNamespace + "MethodAccess", methodAccessModifier.ToString())); }
private XElement GenerateFunctionImport(XNamespace xmlNamespace, FunctionImport functionImport) { MethodAccessModifierAnnotation annotation = functionImport.Annotations.OfType <MethodAccessModifierAnnotation>().SingleOrDefault(); EntitySetPathAnnotation entitySetPathAnnotation = functionImport.Annotations.OfType <EntitySetPathAnnotation>().SingleOrDefault(); return(new XElement( xmlNamespace + "FunctionImport", new XAttribute("Name", functionImport.Name), this.GenerateDocumentation(xmlNamespace, functionImport), this.CsdlDataTypeGenerator.GenerateReturnTypeForFunctionImport(functionImport.ReturnTypes, xmlNamespace), functionImport.IsComposable ? new XAttribute("IsComposable", true) : null, functionImport.IsSideEffecting ? null : new XAttribute("IsSideEffecting", false), functionImport.IsBindable ? new XAttribute("IsBindable", true) : null, entitySetPathAnnotation != null ? new XAttribute("EntitySetPath", entitySetPathAnnotation.EntitySetPath) : null, this.GenerateFunctionImportParameters(functionImport.Parameters, xmlNamespace), this.GenerateAnnotations(xmlNamespace, functionImport), GenerateMethodAccessModifier(annotation))); }