Tôi đã triển khai chương trình TreeScanner, để in thông tin về tất cả các nút trong AST. Chương trình hỗ trợ tất cả các loại (tất cả các phương thức truy cập được thực hiện). Tuy nhiên, vấn đề là đối với tuyên bố, System.out.println(object.YYY);
chương trình không truy cập tham chiếu trường YYY.Cách cây cú pháp in bằng cách sử dụng Javac
Phát hiện đối tượng làm số nhận dạng nhưng không thể phát hiện YYY làm số nhận dạng. Tuy nhiên, khi tôi có System.out.println (YYY); sau đó visitIdentifier sẽ truy cập YYY.
Vui lòng cho tôi biết sự khác nhau giữa hai dòng trên là gì, trong khi trong một YYY được truy cập bởi bộ định danh, trong trường hợp khác, nó không được truy cập.
Tôi làm cách nào để truy cập YYY trong đối tượng .YYY?
Trong lớp org.eclipse.jdt.core.dom chúng tôi có FieldAccess được gọi trong cả hai trường hợp trên cho YYY, nhưng dường như TreeScanner ở Javac không có phương pháp tương tự.
Nó có thể giúp đỡ để gửi một số mã ... – tddmonkey
là 'YYY' một' final' tĩnh (ví dụ: không đổi) lĩnh vực? –
Tôi đã kiểm tra tất cả các trường hợp sau: trường tĩnh, tĩnh cuối cùng và bình thường. Trong cả ba trường hợp, nó không thể phát hiện YYY là số nhận dạng. –