eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

[library] Provide a Java-calling interface #998

Open eclipse-ocl-bot opened 1 month ago

eclipse-ocl-bot commented 1 month ago

| --- | --- | | Bugzilla Link | 394658 | | Status | NEW | | Importance | P3 normal | | Reported | Nov 20, 2012 09:27 EDT | | Modified | Sep 21, 2023 03:06 EDT | | Blocks | 370087 | | See also | Gerrit change 196716, Gerrit change 196722, Gerrit change 196723, Gerrit change 196724, Gerrit change 196726, Gerrit change 196727, Gerrit change 196728, Gerrit change 196725, Gerrit change 196730, Gerrit change 196729 | | Reporter | Ed Willink |

Description

To facilitate use of java with OCL, provide some function such as

static OclAny::oclCall(returnType : Class(T), qualifiedFunctionName : String, args : Sequence(OclAny)) : T

allowing e.g.

oclCall(String, 'java.lang.String.toUpper', Sequence{aString})

function argument types are not needed on the qualifiedFunctionName since they are deducible from the arguments sequence.

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Nov 15, 2016 08:55

It can be much more regular with the aid of quoted identifiers.

'java::java.lang.String'::toUpper(aString)

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Apr 28, 2022 11:20

(In reply to Ed Willink from comment #1)

It can be much more regular with the aid of quoted identifiers.

'java::java.lang.String'::toUpper(aString)

No, escaped identifiers are spelled _'...', XML single colon namespace qualifier seems more logical than double colon OCL scope qualification, so

_'java:java.lang.String'::toUpper(aString)


seems to work.

Needs an extension point to declare "java" support without promoting codegen functionality to pivot.

Needs care to handle statics consistently and provide diverse error messages.

Auseful example such as String.format has a varargs parameter which doesn't merit special support so we can rquire an explicot Sequence: e.g.

_'java:java.lang.String.format'('The result is %4.4f,%2d\n', Sequence(OclAny){7.7,33})

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:17

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196716

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:17

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196722

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:17

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196723

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:17

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196724

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196726

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196727

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196728

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196725

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196730

eclipse-ocl-bot commented 1 month ago

Nov 09, 2022 08:18

New Gerrit change created: https://git.eclipse.org/r/c/ocl/org.eclipse.ocl/+/196729

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Sep 21, 2023 03:04

Bug 378206 has been marked as a duplicate of this bug.

eclipse-ocl-bot commented 1 month ago

By Ed Willink on Sep 21, 2023 03:06

Bug 370087 identifies conversion delegate opportunities once a Java calling interface is available.