520 @param isSpecial flag indicating that a special node should be |
520 @param isSpecial flag indicating that a special node should be |
521 generated (boolean) |
521 generated (boolean) |
522 @return The item that was generated (VariableItem). |
522 @return The item that was generated (VariableItem). |
523 """ |
523 """ |
524 if isSpecial and \ |
524 if isSpecial and \ |
525 (self.dvar_rx_class1.exactMatch(dvar) or \ |
525 (self.dvar_rx_class1.exactMatch(dvar) or |
526 self.dvar_rx_class2.exactMatch(dvar)): |
526 self.dvar_rx_class2.exactMatch(dvar)): |
527 isSpecial = False |
527 isSpecial = False |
528 |
528 |
529 if self.rx_class2.exactMatch(dtype): |
529 if self.rx_class2.exactMatch(dtype): |
530 return SpecialVarItem(parent, dvar, dvalue, dtype[7:-1], |
530 return SpecialVarItem(parent, dvar, dvalue, dtype[7:-1], |
531 self.framenr, self.scope) |
531 self.framenr, self.scope) |
532 elif dtype != "void *" and \ |
532 elif dtype != "void *" and \ |
533 (self.rx_class.exactMatch(dvalue) or \ |
533 (self.rx_class.exactMatch(dvalue) or |
534 self.rx_class3.exactMatch(dvalue) or \ |
534 self.rx_class3.exactMatch(dvalue) or |
535 isSpecial): |
535 isSpecial): |
536 if self.dvar_rx_special_array_element.exactMatch(dvar): |
536 if self.dvar_rx_special_array_element.exactMatch(dvar): |
537 return SpecialArrayElementVarItem(parent, dvar, dvalue, dtype, |
537 return SpecialArrayElementVarItem(parent, dvar, dvalue, dtype, |
538 self.framenr, self.scope) |
538 self.framenr, self.scope) |
539 else: |
539 else: |
540 return SpecialVarItem(parent, dvar, dvalue, dtype, |
540 return SpecialVarItem(parent, dvar, dvalue, dtype, |