dsdump解析优化

输入:

@protocol NSSecureCoding <NSCoding>
  // class methods
 +(BOOL)supportsSecureCoding

@end

@protocol NSCoding
  // instance methods
 -(void)encodeWithCoder:(id)arg1 
 -(void)encodeWithCoder:(id)arg1 
 -(id)initWithCoder:(id)arg1 

@end

@protocol TransactionListener
  // instance methods
 -(void)onTransactionStarted
 -(void)onTransactionCompleted:(id)arg1 isTransactionSuccessful:(SEL)arg2 

@end

代码:

  import re

  protocolStrList = re.findall(r"\@protocol \w+.+?\@end", inputStr, flags=re.DOTALL)
  logging.debug("protocolStrList=%s", protocolStrList)

  for eachProtocolStr in protocolStrList:
      logging.info("eachProtocolStr=%s", eachProtocolStr)

输出效果:

20250101 11:26:44 dsdump.py:218  INFO    eachProtocolStr=@protocol NSSecureCoding <NSCoding>
  // class methods
 +(BOOL)supportsSecureCoding

@end
20250101 11:26:46 dsdump.py:218  INFO    eachProtocolStr=@protocol NSCoding
  // instance methods
 -(void)encodeWithCoder:(id)arg1 
 -(void)encodeWithCoder:(id)arg1 
 -(id)initWithCoder:(id)arg1 

@end
20250101 11:26:52 dsdump.py:218  INFO    eachProtocolStr=@protocol TransactionListener
  // instance methods
 -(void)onTransactionStarted
 -(void)onTransactionCompleted:(id)arg1 isTransactionSuccessful:(SEL)arg2 

@end

results matching ""

    No results matching ""