Hi guys, here is ‘intermediate’ patch, please consider this version as a draft, it’s not finished yet and has some issues besides that. I’m posting this to keep you updated and to get feedback earlier.
Implementation details: Usual 'ObjCBoxedExpr' has only one 'SubExpr', but in case of 'valueWithBytes:objCType:' it has two, it means that ObjCBoxedExpr has to be extended I spent some time thinking about possible implementations and found at least three: - 'PseudoObjectExpr': use pseudo object as a 'SubExpr' to mimic two arguments, very close but it doesn't work because CodeGen module emits code generation for every method parameter, though 'ObjCBoxedExpr' has only one 'SubExpr' - 'ObjCBoxableExpr': was thinking to introduce new AST node, but, imho, it's overkill and node name is confusing, this option also was rejected - 'ObjCBoxedExpr' with SubExprs: finally I decided to extend 'ObjCBoxedExpr' to accept array of sub-expressions, instead of one expression Known issues: - documentation needs to be updated - ASTReader/ASTWriter lack tests - r-values aren't supported yet, need to add tests/implementation Next steps: - get feedback about current implementation - fix known and newly discovered issues -- AlexDenisov Software Engineer, http://alexdenisov.github.io
objc_boxable.patch
Description: Binary data
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
