| Index: pkg/analyzer/lib/src/generated/java_engine.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/java_engine.dart b/pkg/analyzer/lib/src/generated/java_engine.dart
|
| index f523e8f58456d2352e7953a3f4e4e6179cc4d9fc..0e0fce70e5f19a12daf5aab531d3bf8aa3000c8b 100644
|
| --- a/pkg/analyzer/lib/src/generated/java_engine.dart
|
| +++ b/pkg/analyzer/lib/src/generated/java_engine.dart
|
| @@ -192,3 +192,32 @@ class UUID {
|
| String toString() => id;
|
| static UUID randomUUID() => new UUID((__nextId).toString());
|
| }
|
| +
|
| +
|
| +/**
|
| + * Wrapper around [Function] which should be called with "target" and "arguments".
|
| + */
|
| +class MethodTrampoline {
|
| + int parameterCount;
|
| + Function trampoline;
|
| + MethodTrampoline(this.parameterCount, this.trampoline);
|
| + Object invoke(target, List arguments) {
|
| + if (arguments.length != parameterCount) {
|
| + throw new IllegalArgumentException("${arguments.length} != $parameterCount");
|
| + }
|
| + switch (parameterCount) {
|
| + case 0:
|
| + return trampoline(target);
|
| + case 1:
|
| + return trampoline(target, arguments[0]);
|
| + case 2:
|
| + return trampoline(target, arguments[0], arguments[1]);
|
| + case 3:
|
| + return trampoline(target, arguments[0], arguments[1], arguments[2]);
|
| + case 4:
|
| + return trampoline(target, arguments[0], arguments[1], arguments[2], arguments[3]);
|
| + default:
|
| + throw new IllegalArgumentException("Not implemented for > 4 arguments");
|
| + }
|
| + }
|
| +}
|
|
|