0
我正在使用@Check註釋來驗證我的dsl。我的dsl是針對json的。xtext check註釋問題
在第一方法被調用特定對象的每變化一次 ,但它突然不以同樣的方式工作了(我不知道我做到了這一點影響吧) 方法簽名是:
@Check
public void validateJson(ObjectValue object) {...}
現在它進入了GUI中的每一個節點這種方法雖然我編輯只有一個節點
我正在使用@Check註釋來驗證我的dsl。我的dsl是針對json的。xtext check註釋問題
在第一方法被調用特定對象的每變化一次 ,但它突然不以同樣的方式工作了(我不知道我做到了這一點影響吧) 方法簽名是:
@Check
public void validateJson(ObjectValue object) {...}
現在它進入了GUI中的每一個節點這種方法雖然我編輯只有一個節點
驗證器正常工作在這種情況下。當Xtext重新解析模型時,它不能總是避免重新創建在Check表達式中驗證的EMF模型 - 換句話說,模型實際上每次都會重新創建,因此需要進行完整驗證。
但是,在某些情況下,可能只需要對模型進行部分重新創建 - 在這些情況下,可能並非所有元素都經過重新驗證(但是,我不確定此優化被包括在內)。
謝謝,你知道我該如何控制它?我希望它儘可能優化 –
我只知道控制執行的一種方法:註釋具有可選屬性,無論它是快速,正常還是昂貴。如果我沒有記錯,昂貴的規則只能手動驗證,每次保存時都是正常的,而且快速即時。當然,我知道這不是你想要的,但聲明性驗證器不支持其他任何東西。 (據我所知)。 –
謝謝,但之前怎麼樣呢?什麼會導致這種變化? –