Package org.pdtextensions.core.codeassist.context

Source Code of org.pdtextensions.core.codeassist.context.SuperclassMethodContext

/*******************************************************************************
* This file is part of the PDT Extensions eclipse plugin.

*
* (c) Robert Gruendler <r.gruendler@gmail.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
******************************************************************************/
package org.pdtextensions.core.codeassist.context;

import org.eclipse.dltk.core.CompletionRequestor;
import org.eclipse.dltk.core.IModelElement;
import org.eclipse.dltk.core.ISourceModule;
import org.eclipse.dltk.core.ModelException;
import org.eclipse.dltk.internal.core.SourceType;
import org.eclipse.php.internal.core.codeassist.contexts.AbstractCompletionContext;

/**
*
* Checks if the cursor is in a context where methods from
* superclasses can be added to the proposals.
*
*
*/
@SuppressWarnings("restriction")
public class SuperclassMethodContext extends AbstractCompletionContext {

  /* (non-Javadoc)
   * @see org.eclipse.php.internal.core.codeassist.contexts.AbstractCompletionContext#isValid(org.eclipse.dltk.core.ISourceModule, int, org.eclipse.dltk.core.CompletionRequestor)
   */
  @Override
  public boolean isValid(ISourceModule sourceModule, int offset,
      CompletionRequestor requestor) {

    if (!super.isValid(sourceModule, offset, requestor)) {
      return false;
    }

    try {

      IModelElement elem = sourceModule.getElementAt(offset);

      if (elem instanceof SourceType) {
        SourceType type = (SourceType) elem;

        if (type.getSuperClasses().length > 0) {
          return true;
        }

      }

    } catch (ModelException e) {
      e.printStackTrace();
    }

    return false;
  }
}
TOP

Related Classes of org.pdtextensions.core.codeassist.context.SuperclassMethodContext

TOP
Copyright © 2018 www.massapi.com. 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.