Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 232314 Details for
Bug 409245
[1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
patch to address the issue
0001-Bug-409245.patch (text/plain), 11.11 KB, created by
Andrew Clement
on 2013-06-12 18:14:01 EDT
(
hide
)
Description:
patch to address the issue
Filename:
MIME Type:
Creator:
Andrew Clement
Created:
2013-06-12 18:14:01 EDT
Size:
11.11 KB
patch
obsolete
>From 05e068e9536a6f421cf9918744578f52fc9ff478 Mon Sep 17 00:00:00 2001 >From: Andy Clement <andrew.clement@gmail.com> >Date: Wed, 12 Jun 2013 13:58:13 -0700 >Subject: [PATCH] Bug 409245 > >--- > .../jdt/internal/compiler/ast/AllocationExpression.java | 5 +++-- > .../jdt/internal/compiler/ast/ExplicitConstructorCall.java | 4 +++- > .../org/eclipse/jdt/internal/compiler/ast/MessageSend.java | 5 +++-- > .../internal/compiler/ast/QualifiedAllocationExpression.java | 5 +++-- > .../jdt/internal/eval/CodeSnippetAllocationExpression.java | 5 +++-- > .../org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java | 10 ++++++---- > 6 files changed, 21 insertions(+), 13 deletions(-) > >diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java >index 2067bb6..dbc58e6 100644 >--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java >+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/AllocationExpression.java >@@ -24,8 +24,9 @@ > * bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking > * Jesper S Moller <jesper@selskabet.org> - Contributions for > * bug 378674 - "The method can be declared as static" is wrong >- * Andy Clement - Contributions for >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for > * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > *******************************************************************************/ > package org.eclipse.jdt.internal.compiler.ast; > >@@ -184,7 +185,7 @@ public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean > i++) { > codeStream.aconst_null(); > } >- codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */); >+ codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */, this.typeArguments); > } > if (valueRequired) { > codeStream.generateImplicitConversion(this.implicitConversion); >diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.java >index 89b0e42..99b9f00 100644 >--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.java >+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ExplicitConstructorCall.java >@@ -18,6 +18,8 @@ > * bug 370639 - [compiler][resource] restore the default for resource leak warnings > * bug 388996 - [compiler][resource] Incorrect 'potential resource leak' > * bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > *******************************************************************************/ > package org.eclipse.jdt.internal.compiler.ast; > >@@ -171,7 +173,7 @@ public class ExplicitConstructorCall extends Statement implements InvocationSite > i++) { > codeStream.aconst_null(); > } >- codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */); >+ codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */, this.typeArguments); > } else { > codeStream.invoke(Opcodes.OPC_invokespecial, codegenBinding, null /* default declaringClass */, this.typeArguments); > } >diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java >index b379cf5..25d7cd1 100644 >--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java >+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/MessageSend.java >@@ -35,8 +35,9 @@ > * bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking > * Jesper S Moller - Contributions for > * Bug 378674 - "The method can be declared as static" is wrong >- * Andy Clement - Contributions for >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for > * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > *******************************************************************************/ > package org.eclipse.jdt.internal.compiler.ast; > >@@ -411,7 +412,7 @@ public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean > codeStream.invoke(Opcodes.OPC_invokevirtual, codegenBinding, constantPoolDeclaringClass, this.typeArguments); > } > } else { >- codeStream.invoke(Opcodes.OPC_invokestatic, this.syntheticAccessor, null /* default declaringClass */); >+ codeStream.invoke(Opcodes.OPC_invokestatic, this.syntheticAccessor, null /* default declaringClass */, this.typeArguments); > } > // required cast must occur even if no value is required > if (this.valueCast != null) codeStream.checkcast(this.valueCast); >diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java >index ec3a54f..2ebc7fc 100644 >--- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java >+++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/QualifiedAllocationExpression.java >@@ -23,8 +23,9 @@ > * bug 403147 - [compiler][null] FUP of bug 400761: consolidate interaction between unboxing, NPE, and deferred checking > * Jesper S Moller <jesper@selskabet.org> - Contributions for > * bug 378674 - "The method can be declared as static" is wrong >- * Andy Clement - Contributions for >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for > * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > ******************************************************************************/ > package org.eclipse.jdt.internal.compiler.ast; > >@@ -201,7 +202,7 @@ public class QualifiedAllocationExpression extends AllocationExpression { > i++) { > codeStream.aconst_null(); > } >- codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */); >+ codeStream.invoke(Opcodes.OPC_invokespecial, this.syntheticAccessor, null /* default declaringClass */, this.typeArguments); > } > if (valueRequired) { > codeStream.generateImplicitConversion(this.implicitConversion); >diff --git a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.java b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.java >index b638a70..bce4744 100644 >--- a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.java >+++ b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetAllocationExpression.java >@@ -11,8 +11,9 @@ > * > * Contributors: > * IBM Corporation - initial API and implementation >- * Andy Clement - Contributions for >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for > * Bug 383624 - [1.8][compiler] Revive code generation support for type annotations (from Olivier's work) >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > *******************************************************************************/ > package org.eclipse.jdt.internal.eval; > >@@ -83,7 +84,7 @@ public void generateCode(BlockScope currentScope, CodeStream codeStream, boolea > this); > } > // invoke constructor >- codeStream.invoke(Opcodes.OPC_invokespecial, codegenBinding, null /* default declaringClass */); >+ codeStream.invoke(Opcodes.OPC_invokespecial, codegenBinding, null /* default declaringClass */, this.typeArguments); > } else { > // private emulation using reflect > codeStream.generateEmulationForConstructor(currentScope, codegenBinding); >diff --git a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java >index 3f68c38..9707562 100644 >--- a/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java >+++ b/org.eclipse.jdt.core/eval/org/eclipse/jdt/internal/eval/CodeSnippetMessageSend.java >@@ -11,6 +11,8 @@ > * > * Contributors: > * IBM Corporation - initial API and implementation >+ * Andy Clement (GoPivotal, Inc) aclement@gopivotal.com - Contributions for >+ * Bug 409245 - [1.8][compiler] Type annotations dropped when call is routed through a synthetic bridge method > *******************************************************************************/ > package org.eclipse.jdt.internal.eval; > >@@ -82,14 +84,14 @@ public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean > // actual message invocation > TypeBinding constantPoolDeclaringClass = CodeStream.getConstantPoolDeclaringClass(currentScope, codegenBinding, this.actualReceiverType, this.receiver.isImplicitThis()); > if (isStatic) { >- codeStream.invoke(Opcodes.OPC_invokestatic, codegenBinding, constantPoolDeclaringClass); >+ codeStream.invoke(Opcodes.OPC_invokestatic, codegenBinding, constantPoolDeclaringClass, this.typeArguments); > } else if( (this.receiver.isSuper()) || codegenBinding.isPrivate()){ >- codeStream.invoke(Opcodes.OPC_invokespecial, codegenBinding, constantPoolDeclaringClass); >+ codeStream.invoke(Opcodes.OPC_invokespecial, codegenBinding, constantPoolDeclaringClass, this.typeArguments); > } else { > if (constantPoolDeclaringClass.isInterface()) { // interface or annotation type >- codeStream.invoke(Opcodes.OPC_invokeinterface, codegenBinding, constantPoolDeclaringClass); >+ codeStream.invoke(Opcodes.OPC_invokeinterface, codegenBinding, constantPoolDeclaringClass, this.typeArguments); > } else { >- codeStream.invoke(Opcodes.OPC_invokevirtual, codegenBinding, constantPoolDeclaringClass); >+ codeStream.invoke(Opcodes.OPC_invokevirtual, codegenBinding, constantPoolDeclaringClass, this.typeArguments); > } > } > } else { >-- >1.7.11.2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 409245
: 232314