@@ -14,40 +14,18 @@ module.exports = function(context) {
1414  var  eventHandlerPrefix  =  configuration . eventHandlerPrefix  ||  'handle' ; 
1515  var  eventHandlerPropPrefix  =  configuration . eventHandlerPropPrefix  ||  'on' ; 
1616
17-   var  EVENT_HANDLER_REGEX  =  new  RegExp ( '^((this\. props\.'  +  eventHandlerPropPrefix  +  ')' 
17+   var  EVENT_HANDLER_REGEX  =  new  RegExp ( '^((props\.'  +  eventHandlerPropPrefix  +  ')' 
1818                                       +  '|((.*\.)?'  +  eventHandlerPrefix  +  ')).+$' ) ; 
1919  var  PROP_EVENT_HANDLER_REGEX  =  new  RegExp ( '^'  +  eventHandlerPropPrefix  +  '.+$' ) ; 
2020
21-   /** 
22-    * Get full prop value for a handler, i.e. `this.props.<name>` 
23-    * @param  {Object } node.value.expression for JSXAttribute 
24-    * @return  {String } Full prop value 
25-    */ 
26-   function  rebuildPropValue ( valueNode )  { 
27-     var  valueNodeObject  =  valueNode . object ; 
28-     var  subObjectType  =  valueNodeObject . object  ? valueNodeObject . object . type  : '' ; 
29-     var  propertyName  =  valueNodeObject . property  &&  valueNodeObject . property . name  ? valueNodeObject . property . name  : '' ; 
30-     var  propValue  =  valueNode . property  &&  valueNode . property . name  ? valueNode . property . name  : '' ; 
31- 
32-     if  ( propertyName . length )  { 
33-       propValue  =  propertyName  +  '.'  +  propValue ; 
34-     } 
35- 
36-     if  ( subObjectType  ===  'ThisExpression' )  { 
37-       propValue  =  'this.'  +  propValue ; 
38-     } 
39- 
40-     return  propValue ; 
41-   } 
42- 
4321  return  { 
4422    JSXAttribute : function ( node )  { 
4523      if  ( ! node . value  ||  ! node . value . expression  ||  ! node . value . expression . object )  { 
4624        return ; 
4725      } 
4826
4927      var  propKey  =  typeof  node . name  ===  'object'  ? node . name . name  : node . name ; 
50-       var  propValue  =  rebuildPropValue ( node . value . expression ) ; 
28+       var  propValue  =  context . getSource ( node . value . expression ) . replace ( / ^ t h i s \. / ,   '' ) ; 
5129
5230      var  propIsEventHandler  =  PROP_EVENT_HANDLER_REGEX . test ( propKey ) ; 
5331      var  propFnIsNamedCorrectly  =  EVENT_HANDLER_REGEX . test ( propValue ) ; 
0 commit comments