Package org.eclipse.dltk.core

Examples of org.eclipse.dltk.core.IMember


    }
  }
 
  protected void matchDefUnit(DefUnit definition, ISourceModule sourceModule, Path filePath) {
    try {
      IMember targetModelElement = DeeModelEngine.findCorrespondingModelElement(definition, sourceModule);
     
      if(modelElement.equals(targetModelElement)) {
        deeMatchLocator.addMatch(definition, PatternLocator.ACCURATE_MATCH, sourceModule);
      }
    } catch (ModelException e) {
View Full Code Here


    DefUnit parentDefUnit = NodeUtil.getOuterDefUnit(defUnit);
   
    if(parentDefUnit == null) {
      return sourceModule.getType(defUnit.getName());
    } else {
      IMember parentElement = searchForModelElement(parentDefUnit, sourceModule, returnNonExisting);
      if(parentElement == null) {
        return null;
      }
      IMember bestMatch = null;
     
      if(parentElement.exists()) {
        final IModelElement[] children = (IModelElement[]) parentElement.getChildren();
        for (int i = 0; i < children.length; i++) {
          IModelElement modelElement = children[i];
          if(!modelElement.getElementName().equals(defUnit.getName()))
            continue;
         
          switch (modelElement.getElementType()) {
          case IModelElement.FIELD:
            if(!isFieldElement(defUnit)) continue;
            break;
          case IModelElement.METHOD:
            if(!isMethodElement(defUnit)) continue;
            break;
          case IModelElement.TYPE:
            if(!isTypeElement(defUnit)) continue;
            break;
          default:
            assertFail();
          }
         
          IMember member = (IMember) modelElement;
          ISourceRange nameRange = member.getNameRange();
          if(nameRange != null && nameRange.getOffset() == defUnit.defname.getStartPos()) {
            return member; // We found a perfect match
          }
          bestMatch = member;
        }
View Full Code Here

    ASTNode node = ASTNodeFinder.findElement(deeModule, offset);
   
    if(node instanceof DefSymbol) {
      DefUnit defUnit = ((DefSymbol) node).getDefUnit();
      try {
        IMember modelElement = DeeModelEngine.findCorrespondingModelElement(defUnit, sourceModule);
        return modelElement == null ? null : new IModelElement[] { modelElement };
      } catch (ModelException e) {
        return null;
      }
    }
   
    if(!(node instanceof Reference)) {
      return new IModelElement[0];
    }
    Reference ref = (Reference) node;
   
    IModuleResolver moduleResolver = DToolClient_Bad.getResolverFor(filePath);
    Collection<INamedElement> defElements = ref.findTargetDefElements(moduleResolver, false);
    // We assume namespace Parent is the same
    if(defElements == null) {
      return new IModelElement[0];
    }
   
    ArrayList<IModelElement> list = new ArrayList<IModelElement>();
    for (INamedElement defElement : defElements) {
      DefUnit defUnit = defElement.resolveDefUnit();
      IMember modelElement = getModelElement(defUnit, sourceModule);
      if(modelElement != null) {
        list.add(modelElement);
      }
    }
   
View Full Code Here

TOP

Related Classes of org.eclipse.dltk.core.IMember

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.