org.eclipse.xtext.xtend2.scoping
Class Xtend2ImportedNamespaceScopeProvider

java.lang.Object
  extended by org.eclipse.xtext.scoping.impl.AbstractScopeProvider
      extended by org.eclipse.xtext.scoping.impl.AbstractGlobalScopeDelegatingScopeProvider
          extended by org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider
              extended by org.eclipse.xtext.xbase.scoping.XbaseImportedNamespaceScopeProvider
                  extended by org.eclipse.xtext.xtend2.scoping.Xtend2ImportedNamespaceScopeProvider
All Implemented Interfaces:
IScopeProvider

public class Xtend2ImportedNamespaceScopeProvider
extends XbaseImportedNamespaceScopeProvider

Author:
Jan Koehnlein - Initial contribution and API, Sebastian Zarnekow - Improved support for nested types in connection with imports

Constructor Summary
Xtend2ImportedNamespaceScopeProvider()
           
 
Method Summary
protected  ImportNormalizer createImportedNamespaceResolver(java.lang.String namespace, boolean ignoreCase)
          Create a new ImportNormalizer for the given namespace.
protected  ImportScope createImportScope(IScope parent, java.util.List<ImportNormalizer> namespaceResolvers, ISelectable importFrom, org.eclipse.emf.ecore.EClass type, boolean ignoreCase)
           
protected  ImportNormalizer doCreateImportNormalizer(QualifiedName importedNamespace, boolean wildcard, boolean ignoreCase)
           
protected  java.util.List<ImportNormalizer> getImplicitImports(boolean ignoreCase)
           
protected  java.util.List<ImportNormalizer> getJavaLangImport()
           
protected  IScope getLocalElementsScope(IScope parent, org.eclipse.emf.ecore.EObject context, org.eclipse.emf.ecore.EReference reference)
           
protected  java.util.List<ImportNormalizer> internalGetImportedNamespaceResolvers(org.eclipse.emf.ecore.EObject context, boolean ignoreCase)
           
protected  boolean isRelativeImport()
           
 
Methods inherited from class org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider
getAllDescriptions, getImportedNamespaceResolvers, getKey, getQualifiedNameOfLocalElement, getQualifiedNameProvider, getResourceScope, getResourceScope, getScope, getWildCard, internalGetAllDescriptions
 
Methods inherited from class org.eclipse.xtext.scoping.impl.AbstractGlobalScopeDelegatingScopeProvider
getGlobalScope, getGlobalScope, isIgnoreCase, setWrapper, wrap
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Xtend2ImportedNamespaceScopeProvider

public Xtend2ImportedNamespaceScopeProvider()
Method Detail

internalGetImportedNamespaceResolvers

protected java.util.List<ImportNormalizer> internalGetImportedNamespaceResolvers(org.eclipse.emf.ecore.EObject context,
                                                                                 boolean ignoreCase)
Overrides:
internalGetImportedNamespaceResolvers in class ImportedNamespaceAwareLocalScopeProvider

createImportedNamespaceResolver

protected ImportNormalizer createImportedNamespaceResolver(java.lang.String namespace,
                                                           boolean ignoreCase)
Description copied from class: ImportedNamespaceAwareLocalScopeProvider
Create a new ImportNormalizer for the given namespace.

Overrides:
createImportedNamespaceResolver in class ImportedNamespaceAwareLocalScopeProvider
Parameters:
namespace - the namespace.
ignoreCase - true if the resolver should be case insensitive.
Returns:
a new ImportNormalizer or null if the namespace cannot be converted to a valid qualified name.

getImplicitImports

protected java.util.List<ImportNormalizer> getImplicitImports(boolean ignoreCase)
Overrides:
getImplicitImports in class XbaseImportedNamespaceScopeProvider

getJavaLangImport

protected java.util.List<ImportNormalizer> getJavaLangImport()

doCreateImportNormalizer

protected ImportNormalizer doCreateImportNormalizer(QualifiedName importedNamespace,
                                                    boolean wildcard,
                                                    boolean ignoreCase)

getLocalElementsScope

protected IScope getLocalElementsScope(IScope parent,
                                       org.eclipse.emf.ecore.EObject context,
                                       org.eclipse.emf.ecore.EReference reference)
Overrides:
getLocalElementsScope in class ImportedNamespaceAwareLocalScopeProvider

isRelativeImport

protected boolean isRelativeImport()
Overrides:
isRelativeImport in class ImportedNamespaceAwareLocalScopeProvider

createImportScope

protected ImportScope createImportScope(IScope parent,
                                        java.util.List<ImportNormalizer> namespaceResolvers,
                                        ISelectable importFrom,
                                        org.eclipse.emf.ecore.EClass type,
                                        boolean ignoreCase)
Overrides:
createImportScope in class ImportedNamespaceAwareLocalScopeProvider