public static void GetAttributes(FileDiagnostics diagnostics, AttributeTokens attributes, IApplyAttribute applyAttributes)
        {
            if (attributes == null)
            {
                return;
            }

            var getter = new AttributesGetter(applyAttributes);

            getter.CheckAttribute(diagnostics, attributes.GlobalVar, AttributeType.GlobalVar);
            getter.CheckAttribute(diagnostics, attributes.Override, AttributeType.Override);
            getter.CheckAttribute(diagnostics, attributes.PlayerVar, AttributeType.PlayerVar);
            getter.CheckAttribute(diagnostics, attributes.Private, AttributeType.Private);
            getter.CheckAttribute(diagnostics, attributes.Protected, AttributeType.Protected);
            getter.CheckAttribute(diagnostics, attributes.Public, AttributeType.Public);
            getter.CheckAttribute(diagnostics, attributes.Recursive, AttributeType.Recursive);
            getter.CheckAttribute(diagnostics, attributes.Ref, AttributeType.Ref);
            getter.CheckAttribute(diagnostics, attributes.In, AttributeType.In);
            getter.CheckAttribute(diagnostics, attributes.Static, AttributeType.Static);
            getter.CheckAttribute(diagnostics, attributes.Virtual, AttributeType.Virtual);
        }
 private AttributesGetter(IApplyAttribute applyAttributes)
 {
     ApplyAttributes = applyAttributes;
 }