Examples of GlobalMethodStatementContext


Examples of org.eclipse.php.internal.core.codeassist.contexts.GlobalMethodStatementContext

    // if the class does not have parent
    if ((keyword.context & PHPKeywords.METHOD_BODY) != 0
        && isParent(keyword)) {
      ICompletionContext context = getContext();
      if (context instanceof GlobalMethodStatementContext) {
        GlobalMethodStatementContext globalContext = (GlobalMethodStatementContext) context;
        IType type = globalContext.getEnclosingType();
        try {
          if (type != null && PHPFlags.isClass(type.getFlags())) {
            ITypeHierarchy hierarchy = getCompanion()
                .getSuperTypeHierarchy(type, null);
            IType[] superTypes = hierarchy.getAllSupertypes(type);
View Full Code Here

Examples of org.eclipse.php.internal.core.codeassist.contexts.GlobalMethodStatementContext

    ICompletionContext context = getContext();
    if (!(context instanceof GlobalMethodStatementContext)) {
      return;
    }

    GlobalMethodStatementContext concreteContext = (GlobalMethodStatementContext) context;
    CompletionRequestor requestor = concreteContext
        .getCompletionRequestor();
    String prefix = concreteContext.getPrefix();

    String suffix = getSuffix(concreteContext);
    SourceRange replaceRange = null;
    if (suffix.equals("")) { //$NON-NLS-1$
      replaceRange = getReplacementRange(concreteContext);
    } else {
      replaceRange = getReplacementRangeWithBraces(concreteContext);
    }
    replaceRange = getReplacementRange(context);

    IMethod enclosingMethod = concreteContext.getEnclosingMethod();

    // complete class variable: $this
    if (!PHPFlags.isStatic(enclosingMethod.getFlags())) {
      IType declaringType = enclosingMethod.getDeclaringType();
      if (declaringType != null) {
        if (THIS.startsWith(prefix)) { //$NON-NLS-1$
          reporter.reportField(new FakeField(
              (ModelElement) declaringType, THIS, 0, 0), suffix,
              replaceRange, false,
              ICompletionReporter.RELEVANCE_ADJUST); //NON-NLS-1 //$NON-NLS-2$
        }
      } else {
        if (enclosingMethod.getParent() instanceof IField
            && concreteContext.getPhpVersion().isGreaterThan(
                PHPVersion.PHP5_3)) {
          IMethod method = (IMethod) enclosingMethod.getParent()
              .getAncestor(IModelElement.METHOD);
          if (method != null) {
            declaringType = method.getDeclaringType();
            if (declaringType != null && THIS.startsWith(prefix)) { //$NON-NLS-1$
              reporter.reportField(new FakeField(
                  (ModelElement) declaringType, THIS, 0, 0),
                  suffix, replaceRange, false,
                  ICompletionReporter.RELEVANCE_ADJUST); //NON-NLS-1 //$NON-NLS-2$
            }
          }
        }
      }
    }

    for (IModelElement element : PHPModelUtils.getMethodFields(
        enclosingMethod, prefix, requestor.isContextInformationMode(),
        null)) {
      reporter.reportField((IField) element, "", replaceRange, false, //$NON-NLS-1$
          ICompletionReporter.RELEVANCE_ADJUST);
    }

    PHPVersion phpVersion = concreteContext.getPhpVersion();
    for (String variable : PHPVariables.getVariables(phpVersion)) {
      if (variable.startsWith(prefix)) {
        if (!requestor.isContextInformationMode()
            || variable.length() == prefix.length()) {
          reporter.reportField(new FakeField(
              (ModelElement) concreteContext.getSourceModule(),
              variable, 0, 0), "", replaceRange, false, //$NON-NLS-1$
              -ICompletionReporter.RELEVANCE_ADJUST); // NON-NLS-1
        }
      }
    }
View Full Code Here
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.