public String createHolderWatchExpression() {
return expressionTrackerNode.calculateParentQualifiedName();
}
private ValueChanger createValueChanger() {
final JsDeclarativeVariable declarative = jsVariable.asDeclarativeVariable();
if (declarative != null) {
if (!declarative.isMutable()) {
return null;
}
return new ValueChanger() {
@Override
RelayOk setValue(JsValue newValue,
final Callback callback, CallbackSemaphore syncCallback) {
JsDeclarativeVariable.SetValueCallback rawCallback =
new JsDeclarativeVariable.SetValueCallback() {
@Override public void success() {
callback.success();
}
@Override public void failure(Exception cause) {
callback.failure(cause);
}
};
return declarative.setValue(newValue, rawCallback, syncCallback);
}
};
}
JsObjectProperty property = jsVariable.asObjectProperty();
if (property != null) {