936 if not nv: |
936 if not nv: |
937 break |
937 break |
938 name = nv[0].strip()[1:] # get rid of leading ':' |
938 name = nv[0].strip()[1:] # get rid of leading ':' |
939 attr = parent.getAttribute("@"+name) or \ |
939 attr = parent.getAttribute("@"+name) or \ |
940 parent.getAttribute("@@"+name) or \ |
940 parent.getAttribute("@@"+name) or \ |
941 Attribute(self.name, "@"+name, file, lineno) |
941 Attribute(self.name, "@"+name, self.file, lineno) |
942 if len(nv) == 1 or nv[1].strip() == "false": |
942 if len(nv) == 1 or nv[1].strip() == "false": |
943 attr.setProtected() |
943 attr.setProtected() |
944 elif nv[1].strip() == "true": |
944 elif nv[1].strip() == "true": |
945 attr.setPublic() |
945 attr.setPublic() |
946 parent.addAttribute(attr.name, attr) |
946 parent.addAttribute(attr.name, attr) |
948 access = m.group("AttrType") |
948 access = m.group("AttrType") |
949 for name in m.group("AttrList").split(","): |
949 for name in m.group("AttrList").split(","): |
950 name = name.strip()[1:] # get rid of leading ':' |
950 name = name.strip()[1:] # get rid of leading ':' |
951 attr = parent.getAttribute("@"+name) or \ |
951 attr = parent.getAttribute("@"+name) or \ |
952 parent.getAttribute("@@"+name) or \ |
952 parent.getAttribute("@@"+name) or \ |
953 Attribute(self.name, "@"+name, file, lineno) |
953 Attribute(self.name, "@"+name, self.file, lineno) |
954 if access == "_accessor": |
954 if access == "_accessor": |
955 attr.setPublic() |
955 attr.setPublic() |
956 elif access == "_reader" or access == "_writer": |
956 elif access == "_reader" or access == "_writer": |
957 if attr.isPrivate(): |
957 if attr.isPrivate(): |
958 attr.setProtected() |
958 attr.setProtected() |