Tôi đang sử dụng javac từ tools.jar (ví dụ: JavaCompiler
) để phân tích cú pháp các tệp java. Tôi phân tích các nguồn bằng cách thực hiện TreePathScanner
. Cho đến nay, mọi thứ có vẻ ổn, vì tôi có thể phân tích cú pháp nhập, tên gói, tên lớp, tên phương thức, hướng dẫn ...Cách đọc nhận xét nội tuyến từ tệp java bằng cách sử dụng trình phân tích cú pháp công cụ javac?
Nhưng tôi có vấn đề với inline ý kiến - Tôi không thể đơn giản làm cho chúng xuất hiện trong tạo cây AST hoặc truy cập chúng. Tuy nhiên, tôi có thể đọc nhận xét javadoc cho các lớp, phương pháp, v.v. nhưng không có nhận xét nội tuyến.
Cách đọc nhận xét nội tuyến theo cách tốt nhất? Tôi đang nhìn vào mã nguồn netbeans (vì nó đang sử dụng javac để phân tích cú pháp, quá), nhưng tôi không thể tìm thấy một cách dễ dàng bất cứ điều gì về nó.
Giải pháp tuyệt vọng của tôi sẽ sử dụng vị trí câu lệnh của tệp nguồn và sau đó phân tích cú pháp theo cách thủ công để nhận xét mọi thứ giữa hai câu lệnh. Hoặc điều tương tự, nhưng giữa hai nút cây.
Có ai biết giải pháp tốt hơn không? Cảm ơn bạn!
Tôi thấy rằng com.sun.tools.javac.main.JavaCompiler có một số cờ keepComments được đặt thành false theo mặc định. Đó là những gì bạn đang cố gắng sử dụng? Bạn đã thử thay đổi nó? – jdb
vâng, tôi đã có cài đặt này thành true, không nhận thấy bất kỳ sự khác biệt nào. – igr