hiểu biết hiện tại của tôi là JDT cung cấp cho chúng ta hai giao diện và lớp hierarchies khác nhau cho đại diện và thao tác mã Java:Vai trò của I * Ràng buộc trong JDT Eclipse là gì?
Java mẫu: cung cấp một cách để đại diện cho một dự án java. Nhanh để tạo nhưng không chứa nhiều thông tin như lớp AST hệ thống phân cấp, ví dụ như không có thông tin có sẵn về vị trí chính xác của mỗi phần tử trong tập tin nguồn (trong AST đó là sẵn)
AST: đại diện chi tiết hơn về mã nguồn cộng với cung cấp có nghĩa là để thao tác nó.
Điều đó có đúng không?
Bây giờ, cũng có một hệ thống phân cấp các giao diện có tên I * Binding (bắt đầu tại IBinding), ví dụ như IMethodBinding. Vì vậy, ví dụ, chúng tôi có 3 loại khác nhau để đối phó với các phương pháp:
- IMethod (từ Java Model)
- MethodInvocation (từ AST, có thể nhận được nó từ IMethod)
- IMethodBinding
Từ doc IMethodBinding dường như rất giống với MethodInvocation từ AST nhưng tôi không thấy sự phân biệt rõ ràng và khi nào tôi nên sử dụng chúng. Ai đó có thể làm rõ điều này?
Bạn có thể nói cách lấy phương thức MethodInvocation từ IMethod không? – berezovskyi