List of usage examples for org.eclipse.jdt.internal.compiler.lookup ReferenceBinding signature
null signature
To view the source code for org.eclipse.jdt.internal.compiler.lookup ReferenceBinding signature.
Click Source Link
From source file:org.eclipse.recommenders.internal.chain.rcp.TypeBindingAnalyzer.java
License:Open Source License
public static boolean isAssignable(final ChainElement edge, final TypeBinding expectedType, final int expectedDimension) { if (expectedDimension <= edge.getReturnTypeDimension()) { final TypeBinding base = removeArrayWrapper(edge.getReturnType()); if (base instanceof BaseTypeBinding) { return false; }/*from w w w . j ava2 s. c o m*/ if (base.isCompatibleWith(expectedType)) { return true; } final LinkedList<ReferenceBinding> supertypes = Lists.newLinkedList(); supertypes.add((ReferenceBinding) base); final String expectedSignature = String.valueOf(expectedType.signature()); while (!supertypes.isEmpty()) { final ReferenceBinding type = supertypes.poll(); if (String.valueOf(type.signature()).equals(expectedSignature)) { return true; } final ReferenceBinding superclass = type.superclass(); if (superclass != null) { supertypes.add(superclass); } for (final ReferenceBinding intf : type.superInterfaces()) { supertypes.add(intf); } } } return false; }