Search in sources :

Example 16 with CharacterIterator

use of java.text.CharacterIterator in project jdk8u_jdk by JetBrains.

the class RuleBasedBreakIterator method last.

/**
     * Sets the current iteration position to the end of the text.
     * (i.e., the CharacterIterator's ending offset).
     * @return The text's past-the-end offset.
     */
@Override
public int last() {
    CharacterIterator t = getText();
    // I'm not sure why, but t.last() returns the offset of the last character,
    // rather than the past-the-end offset
    t.setIndex(t.getEndIndex());
    return t.getIndex();
}
Also used : StringCharacterIterator(java.text.StringCharacterIterator) CharacterIterator(java.text.CharacterIterator)

Example 17 with CharacterIterator

use of java.text.CharacterIterator in project gradle by gradle.

the class StartScriptTemplateBindingFactory method escapeWindowsJvmOpt.

private String escapeWindowsJvmOpt(String jvmOpts) {
    boolean wasOnBackslash = false;
    StringBuilder escapedJvmOpt = new StringBuilder();
    CharacterIterator it = new StringCharacterIterator(jvmOpts);
    // - use a state machine rather than regexps
    for (char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) {
        String repl = Character.toString(ch);
        if (ch == '%') {
            repl = "%%";
        } else if (ch == '"') {
            repl = (wasOnBackslash ? '\\' : "") + "\\\"";
        }
        wasOnBackslash = ch == '\\';
        escapedJvmOpt.append(repl);
    }
    return escapedJvmOpt.toString();
}
Also used : StringCharacterIterator(java.text.StringCharacterIterator) CharacterIterator(java.text.CharacterIterator) StringCharacterIterator(java.text.StringCharacterIterator)

Example 18 with CharacterIterator

use of java.text.CharacterIterator in project intellij-community by JetBrains.

the class StubBuildingVisitor method parseClassSignature.

private ClassInfo parseClassSignature(String signature) throws ClsFormatException {
    ClassInfo result = new ClassInfo();
    CharacterIterator iterator = new StringCharacterIterator(signature);
    result.typeParameters = SignatureParsing.parseTypeParametersDeclaration(iterator, myMapping);
    result.superName = SignatureParsing.parseTopLevelClassRefSignature(iterator, myMapping);
    while (iterator.current() != CharacterIterator.DONE) {
        String name = SignatureParsing.parseTopLevelClassRefSignature(iterator, myMapping);
        if (name == null)
            throw new ClsFormatException();
        if (result.interfaceNames == null)
            result.interfaceNames = ContainerUtil.newSmartList();
        result.interfaceNames.add(name);
    }
    return result;
}
Also used : StringCharacterIterator(java.text.StringCharacterIterator) CharacterIterator(java.text.CharacterIterator) StringCharacterIterator(java.text.StringCharacterIterator) ClsFormatException(com.intellij.util.cls.ClsFormatException)

Example 19 with CharacterIterator

use of java.text.CharacterIterator in project Gradle-demo by Arisono.

the class JsonValidator method literal.

private boolean literal(String text) {
    CharacterIterator ci = new StringCharacterIterator(text);
    char t = ci.first();
    if (c != t)
        return false;
    int start = col;
    boolean ret = true;
    for (t = ci.next(); t != CharacterIterator.DONE; t = ci.next()) {
        if (t != nextCharacter()) {
            ret = false;
            break;
        }
    }
    nextCharacter();
    if (!ret)
        error("literal " + text, start);
    return ret;
}
Also used : StringCharacterIterator(java.text.StringCharacterIterator) StringCharacterIterator(java.text.StringCharacterIterator) CharacterIterator(java.text.CharacterIterator)

Example 20 with CharacterIterator

use of java.text.CharacterIterator in project intellij-community by JetBrains.

the class RestTitle method getName.

@Nullable
public String getName() {
    final String text = getNode().getText().trim();
    if (text.length() < 2)
        return null;
    final char adorn = text.charAt(text.length() - 2);
    final CharacterIterator it = new StringCharacterIterator(text);
    int finish = 0;
    for (char ch = it.last(); ch != CharacterIterator.DONE; ch = it.previous()) {
        if (ch != adorn) {
            finish = it.getIndex();
            break;
        }
    }
    int start = 0;
    if (text.charAt(0) == adorn) {
        for (char ch = it.first(); ch != CharacterIterator.DONE; ch = it.next()) {
            if (ch != adorn) {
                start = it.getIndex() + 1;
                break;
            }
        }
    }
    if (finish <= 0 || start < 0)
        return null;
    return text.substring(start, finish).trim();
}
Also used : StringCharacterIterator(java.text.StringCharacterIterator) StringCharacterIterator(java.text.StringCharacterIterator) CharacterIterator(java.text.CharacterIterator) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

CharacterIterator (java.text.CharacterIterator)33 StringCharacterIterator (java.text.StringCharacterIterator)28 Nullable (org.jetbrains.annotations.Nullable)3 ClsFormatException (com.intellij.util.cls.ClsFormatException)2 ArrayList (java.util.ArrayList)2 Logger (com.intellij.openapi.diagnostic.Logger)1 Pair (com.intellij.openapi.util.Pair)1 Pair.pair (com.intellij.openapi.util.Pair.pair)1 StringUtil (com.intellij.openapi.util.text.StringUtil)1 VirtualFile (com.intellij.openapi.vfs.VirtualFile)1 LanguageLevel (com.intellij.pom.java.LanguageLevel)1 CommonClassNames (com.intellij.psi.CommonClassNames)1 PsiNameHelper (com.intellij.psi.PsiNameHelper)1 ModifierFlags (com.intellij.psi.impl.cache.ModifierFlags)1 TypeInfo (com.intellij.psi.impl.cache.TypeInfo)1 com.intellij.psi.impl.java.stubs (com.intellij.psi.impl.java.stubs)1 com.intellij.psi.impl.java.stubs.impl (com.intellij.psi.impl.java.stubs.impl)1 PsiFileStub (com.intellij.psi.stubs.PsiFileStub)1 StubElement (com.intellij.psi.stubs.StubElement)1 ArrayUtil (com.intellij.util.ArrayUtil)1