public static MemberDecoration GetDecoration(IAccessModifiers accessModifiers, TreeNodeEnumerable <IFSharpAttribute> attributes) { var decoration = MemberDecoration.DefaultValue; var modifiers = new JetHashSet <TokenNodeType>(); if (accessModifiers != null) { foreach (var modifier in accessModifiers.Modifiers) { modifiers.Add(modifier.GetTokenType()); } } if (modifiers.Contains(FSharpTokenType.PUBLIC)) { decoration.Modifiers |= Modifiers.PUBLIC; } if (modifiers.Contains(FSharpTokenType.INTERNAL)) { decoration.Modifiers |= Modifiers.INTERNAL; } if (modifiers.Contains(FSharpTokenType.PRIVATE)) { decoration.Modifiers |= Modifiers.PRIVATE; } foreach (var attr in attributes) { switch (attr.GetShortName()) { case FSharpImplUtil.AbstractClass: decoration.Modifiers |= Modifiers.ABSTRACT; break; case FSharpImplUtil.Sealed: decoration.Modifiers |= Modifiers.SEALED; break; } } return(Normalize(decoration)); }
public static MemberDecoration GetDecoration(IAccessModifiers accessModifiers, TreeNodeEnumerable <IFSharpAttribute> attributes) { var decoration = MemberDecoration.DefaultValue; var modifiers = new JetHashSet <TokenNodeType>(); foreach (var modifier in accessModifiers.Modifiers) { modifiers.Add(modifier.GetTokenType()); } if (modifiers.Contains(FSharpTokenType.PUBLIC)) { decoration.Modifiers |= Modifiers.PUBLIC; } if (modifiers.Contains(FSharpTokenType.INTERNAL)) { decoration.Modifiers |= Modifiers.INTERNAL; } if (modifiers.Contains(FSharpTokenType.PRIVATE)) { decoration.Modifiers |= Modifiers.PRIVATE; } foreach (var attr in attributes) { var ids = attr.LongIdentifier.Identifiers; if (ids.IsEmpty) { continue; } var attributeShortName = ids.Last().GetText().GetAttributeShortName(); if (attributeShortName.Equals(AbstractClass, StringComparison.Ordinal)) { decoration.Modifiers |= Modifiers.ABSTRACT; break; } } return(Normalize(decoration)); }
public IAccessModifiers SetAccessModifiers(IAccessModifiers param) => null;