Examples of TextSequence


Examples of org.eclipse.php.internal.core.util.text.TextSequence

    }
    if (getPhpVersion().isLessThan(PHPVersion.PHP5_3)) {
      return false;
    }

    TextSequence statementText = getStatementText();
    int totalLength = statementText.length();
    int endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
        statementText, totalLength); // read whitespace
    elementStart = PHPTextSequenceUtilities.readIdentifierStartIndex(
        statementText, endPosition, true);

    elementStart = PHPTextSequenceUtilities.readBackwardSpaces(
        statementText, elementStart);
    if (elementStart < 1) { // there's no trigger of length less than 1
                // characters
      return false;
    }

    String triggerText = statementText.subSequence(elementStart - 1,
        elementStart).toString();
    if (!triggerText.equals("\\")) { //$NON-NLS-1$
      return false;
    }

    isGlobal = false;
    if (elementStart == 1) {
      isGlobal = true;
      return true;
    }

    int endNamespace = PHPTextSequenceUtilities.readBackwardSpaces(
        statementText, elementStart - 1);
    int nsNameStart = PHPTextSequenceUtilities.readNamespaceStartIndex(
        statementText, endNamespace, false);
    String nsName = statementText.subSequence(nsNameStart, elementStart)
        .toString();
    if (nsName.equals("\\")) { //$NON-NLS-1$
      isGlobal = true;
      return true;
    }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

  public String getPrefix() throws BadLocationException {
    if (hasWhitespaceBeforeCursor()) {
      return ""; //$NON-NLS-1$
    }
    TextSequence statementText = getStatementText();
    int statementLength = statementText.length();
    int prefixEnd = PHPTextSequenceUtilities.readBackwardSpaces(
        statementText, statementLength); // read whitespace
    int prefixStart = PHPTextSequenceUtilities.readIdentifierStartIndex(
        statementText, prefixEnd, true);
    return statementText.subSequence(prefixStart, prefixEnd).toString();
  }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

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

    TextSequence statementText = getStatementText();
    return isIncludeStatement(statementText);
  }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

  public String getPrefix() throws BadLocationException {
    if (hasWhitespaceBeforeCursor()) {
      return ""; //$NON-NLS-1$
    }
    TextSequence statementText = getStatementText();
    int prefixEnd = statementText.length();
    final TextSequence cutTextSequence = statementText.cutTextSequence(0,
        this.variantLength);
    int prefixStart = PHPTextSequenceUtilities.readForwardUntilDelim(
        cutTextSequence, 0, new char[] { '\'', '"' });
    int i = this.variantLength + prefixStart + 1;
    if (i <= prefixEnd) {
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

  public boolean isValid(ISourceModule sourceModule, int offset,
      CompletionRequestor requestor) {
    if (!super.isValid(sourceModule, offset, requestor)) {
      return false;
    }
    TextSequence statementText = getStatementText();
    return statementText.toString().endsWith(getTagName());
  }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

      return false;
    }
    try {
      ITextRegion phpToken = getPHPToken();

      TextSequence statementText = getStatementText();
      int length = statementText.length();
      int endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
          statementText, length);
      int startPosition = PHPTextSequenceUtilities
          .readIdentifierStartIndex(getPhpVersion(), statementText,
              endPosition, true);

      hasQuotes = false;

      if (PHPPartitionTypes.isPHPQuotesState(phpToken.getType())) {
        hasQuotes = true;

        endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
            statementText, startPosition);
        if (endPosition == 0
            || (statementText.charAt(endPosition - 1) != '\"' && statementText
                .charAt(endPosition - 1) != '\'')) {
          return false;
        }
        startPosition = endPosition - 1;
      }
      endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
          statementText, startPosition);
      if (endPosition > 0
          && (statementText.charAt(endPosition - 1) == '\"' || statementText
              .charAt(endPosition - 1) == '\'')) {
        hasQuotes = true;
        startPosition = endPosition - 1;
        endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
            statementText, startPosition);
      }
      if (endPosition == 0
          || statementText.charAt(endPosition - 1) != '[') {
        return false;
      }

      endPosition = PHPTextSequenceUtilities.readBackwardSpaces(
          statementText, endPosition - 1);
      startPosition = PHPTextSequenceUtilities.readIdentifierStartIndex(
          getPhpVersion(), statementText, endPosition, true);
      arrayVarName = statementText
          .subSequence(startPosition, endPosition).toString();
      if (!arrayVarName.startsWith("$")) { //$NON-NLS-1$
        return false;
      }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

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

    TextSequence statementText = getStatementText();
    int functionEnd = getFunctionEnd();

    for (int i = statementText.length() - 1; i >= functionEnd; i--) {
      if (statementText.charAt(i) == '(') {
        return false;
      }
    }

    declaringClass = PHPModelUtils.getCurrentType(getSourceModule(),
        statementText.getOriginalOffset(functionEnd));
    if (declaringClass == null) {
      return false;
    }
    return true;
  }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

  private int getMultiLineStatementStartOffset(int lineStart,
      int currLineIndex, int checkedOffset) throws BadLocationException {
    lineStart = IndentationUtils.moveLineStartToNonBlankChar(document,
        lineStart, currLineIndex);

    TextSequence textSequence = PHPTextSequenceUtilities
        .getStatement(lineStart,
            document.getRegionAtCharacterOffset(lineStart), true);
    if (textSequence != null
        && IndentationUtils.isRegionTypeAllowedMultiline(FormatterUtils
            .getRegionType(document,
                textSequence.getOriginalOffset(0)))
        && document.getLineOfOffset(textSequence.getOriginalOffset(0)) < currLineIndex) {
      return document.getLineOfOffset(textSequence.getOriginalOffset(0));
    }

    return -1;
  }
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

        .createHeuristicScanner(document, lineStart, true);
    if (checkedOffset == document.getLength() && checkedOffset > 0) {
      checkedOffset--;
    }

    TextSequence textSequence = PHPTextSequenceUtilities
        .getStatement(lineStart,
            document.getRegionAtCharacterOffset(lineStart), true);
    if (textSequence != null
        && IndentationUtils.isRegionTypeAllowedMultiline(FormatterUtils
            .getRegionType(document,
                textSequence.getOriginalOffset(0)))) {
      int statementStart = textSequence.getOriginalOffset(0);
      // we only search for opening pear in textSequence

      int openParenPeer = scanner.findOpeningPeer(checkedOffset - 1,
          statementStart, PHPHeuristicScanner.LPAREN,
          PHPHeuristicScanner.RPAREN);
View Full Code Here

Examples of org.eclipse.php.internal.core.util.text.TextSequence

  private int getMultiLineStatementStartOffset(int lineStart,
      int currLineIndex) {
    lineStart = IndentationUtils.moveLineStartToNonBlankChar(document,
        lineStart, currLineIndex);

    TextSequence textSequence = PHPTextSequenceUtilities
        .getStatement(lineStart,
            document.getRegionAtCharacterOffset(lineStart), true);
    int textOriginalOffset = textSequence.getOriginalOffset(0);
    int textSequenceLine = document.getLineOfOffset(textOriginalOffset);
    if (textSequence != null
        && textSequenceLine < currLineIndex
        && IndentationUtils.isRegionTypeAllowedMultiline(FormatterUtils
            .getRegionType(document, textOriginalOffset))) {
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.