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 35608 Details for
Bug 129190
[1.5][compiler] Contrary behaviour to Sun's compiler concerning typed classes, non-static inner classes and inheritence
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
patch for properly inferring through enclosing param type
129190.txt (text/plain), 2.20 KB, created by
Philipe Mulet
on 2006-03-02 09:17:28 EST
(
hide
)
Description:
patch for properly inferring through enclosing param type
Filename:
MIME Type:
Creator:
Philipe Mulet
Created:
2006-03-02 09:17:28 EST
Size:
2.20 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java,v >retrieving revision 1.76 >diff -u -r1.76 ParameterizedTypeBinding.java >--- compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java 17 Feb 2006 16:09:56 -0000 1.76 >+++ compiler/org/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding.java 2 Mar 2006 14:19:01 -0000 >@@ -125,7 +125,6 @@ > if ((this.tagBits & TagBits.HasTypeVariable) == 0) return; > if (actualType == TypeBinding.NULL) return; > >- if (this.arguments == null) return; > if (!(actualType instanceof ReferenceBinding)) return; > TypeBinding formalEquivalent, actualEquivalent; > switch (constraint) { >@@ -142,6 +141,13 @@ > actualEquivalent = actualType; > break; > } >+ // collect through enclosing type >+ ReferenceBinding formalEnclosingType = formalEquivalent.enclosingType(); >+ if (formalEnclosingType != null) { >+ formalEnclosingType.collectSubstitutes(scope, actualEquivalent.enclosingType(), substitutes, constraint); >+ } >+ // collect through type arguments >+ if (this.arguments == null) return; > TypeBinding[] formalArguments; > switch (formalEquivalent.kind()) { > case Binding.GENERIC_TYPE : >@@ -570,10 +576,12 @@ > // this.methods = null; > this.modifiers = someType.modifiers; > // only set AccGenericSignature if parameterized or have enclosing type required signature >- if (someArguments != null) >+ if (someArguments != null) { > this.modifiers |= ExtraCompilerModifiers.AccGenericSignature; >- else if (this.enclosingType != null) >+ } else if (this.enclosingType != null) { > this.modifiers |= (this.enclosingType.modifiers & ExtraCompilerModifiers.AccGenericSignature); >+ this.tagBits |= this.enclosingType.tagBits & TagBits.HasTypeVariable; >+ } > if (someArguments != null) { > this.arguments = someArguments; > for (int i = 0, length = someArguments.length; i < length; i++) {
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 129190
: 35608