광산 프로젝트에서 Uncrustify를 사용하려고하지만 매크로가 Objective-C 메시지의 수신자로 사용될 때 발생하는 간격 변경 사항과 관련하여 일부 문제가 발생합니다. . 예를 들어, 다음 매크로 및 메서드 호출을 주어진, 나는 그대로있는 그대로 간격을 기대합니다.메서드 호출 내 매크로와의 공간 할당 해제 문제 해결
#define NilOrNotNSNull(val) ({id __val = (val); (__val == [NSNull null]) ? nil : __val;})
title_ = [NilOrNotNSNull([dict objectForKey:@"post_title"]) copy];
그러나 이것은 결과입니다.
#define NilOrNotNSNull(val) ({id __val = (val); (__val == [NSNull null]) ? nil : __val;})
title_ = [NilOrNotNSNull ([dict objectForKey:@"post_title"])copy];
Uncrustify 괄호 안에 텍스트가 매크로 인수 것을 인식하지 못하는,하지만 난 정말 도대체 그것이라고 생각 모르겠어요 것처럼 나타납니다. 이것은 나에게 Uncrustify 버그처럼 보이지만 내 설정에 문제가 될 수 있으므로 GitHub에서 문제를 제기 할뿐만 아니라 여기에서 묻습니다. 다음은 내가 사용하고있는 설정입니다 : https://gist.github.com/812314
누군가가 통찰력을 제공 할 수 있다면, 고맙겠습니다.
아, 좋은
다음은
set func_call_user NilOrNotNSNull
내 출력됩니다. 그것은 제 생각으로는 일종의 해결 방법입니다. 그러나 그것은 제가 생각하기에 가능합니다. 잘하면 누군가 Github에 대한 제 호의 내용에 따라 그것이 의도 된 것인지 아닌지에 대해 의견을 말합니다. 예, 맞습니다. 출력 예가 정확하지 않았습니다. :) 나는 Uncrustify를 거치지 않는 미리 컴파일 된 헤더에서 매크로 정의를 추출 했으므로 실현하지 못했습니다. –두 번째 생각에이 해결 방법은 uncrustify 구성에 수동으로 프로젝트의 모든 단일 함수 및 매크로 이름을 수동으로 추가하는 것입니다. 그것은 만족스러운 해결책이 아닙니다. –