commit | 0c9c7ecb565cded5e5d2433e3554dd9cda0a78b7 | [log] [tgz] |
---|---|---|
author | Stephan Herrmann <stephan@cs.tu-berlin.de> | Sun Sep 12 13:05:51 2010 +0000 |
committer | Stephan Herrmann <stephan@cs.tu-berlin.de> | Sun Sep 12 13:05:51 2010 +0000 |
tree | da3684ce4016fc80157af944844892dc24e34909 | |
parent | de8497c9a35a37a3120700a8d6c52e0d51e050ca [diff] |
Avoid an AIOOBE I observed with badly broken sources in RL.
diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/mappings/CallinImplementor.java b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/mappings/CallinImplementor.java index 8567ae3..012a34e 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/mappings/CallinImplementor.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/objectteams/otdt/internal/core/compiler/mappings/CallinImplementor.java
@@ -975,7 +975,9 @@ || methodMapping.mappings.length == 0 || idx < generatedArgsLen) // don't map generated args. { - targetArgName = wrapperDeclaration.arguments[idx+wrapperPrefixLen].name; + targetArgName = idx+wrapperPrefixLen < wrapperDeclaration.arguments.length + ? wrapperDeclaration.arguments[idx+wrapperPrefixLen].name + : CharOperation.concat(IOTConstants.OT_DOLLAR_NAME, "missingArg".toCharArray()); //$NON-NLS-1$ MethodSpec rmSpec = methodMapping.roleMethodSpec; mappedArgExpr = genSimpleArgExpr(targetArgName, rmSpec); if (idx >= generatedArgsLen)