diff lib/IMPL/Code/BasePropertyImplementor.pm @ 411:ee36115f6a34 ref20150831

sync
author cin
date Mon, 21 Sep 2015 00:53:10 +0300
parents c6e90e02dd17
children 3ed0c58e9da3
line wrap: on
line diff
--- a/lib/IMPL/Code/BasePropertyImplementor.pm	Mon Sep 14 01:11:53 2015 +0300
+++ b/lib/IMPL/Code/BasePropertyImplementor.pm	Mon Sep 21 00:53:10 2015 +0300
@@ -50,8 +50,15 @@
             ownerSet => (($spec & PROP_OWNERSET) == PROP_OWNERSET),
             direct => $spec & PROP_DIRECT
         };
+	} elsif ($spec =~ /(\*)?(r)?(w)?/) {
+		return {
+			get => $2 ? 1 : 0,
+			set => $3 ? 1 : 0,
+			ownerSet => $2 ? 1 : 0,
+			direct => $1 ? 1 : 0
+		};
 	} else {
-		return {};
+		return die IMPL::Exception->new("Invalid property specification","$spec");
 	}	    
 }