|
@@ -452,27 +452,16 @@ define(function () {
|
|
|
|
|
|
st.wrapJavaScript = wrapJavaScript;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
if the receiver has no klass, we consider it a JS object (outside of the
|
|
|
- Amber system). Else assume that the receiver understands #doesNotUnderstand: */
|
|
|
+ Amber system) and wrap it.
|
|
|
+ Else assume that the receiver understands #doesNotUnderstand: */
|
|
|
function messageNotUnderstood (receiver, stSelector, args) {
|
|
|
if (receiver.klass != null && !receiver.allowJavaScriptCalls) {
|
|
|
return invokeDnuMethod(receiver, stSelector, args);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Converts keyword-based selectors by using the first
|
|
|
- keyword only, but keeping all message arguments.
|
|
|
-
|
|
|
- Example:
|
|
|
- "self do: aBlock with: anObject" -> "self.do(aBlock, anObject)"
|
|
|
-
|
|
|
- Else try wrapping a JSObjectProxy around the receiver. */
|
|
|
- var propertyName = st.st2prop(stSelector);
|
|
|
- if (!(propertyName in receiver)) {
|
|
|
+ } else {
|
|
|
return invokeDnuMethod(wrapJavaScript(receiver), stSelector, args);
|
|
|
}
|
|
|
- return accessJavaScript(receiver, propertyName, args);
|
|
|
}
|
|
|
|
|
|
|