Package ideah.util

Examples of ideah.util.LineColRange


    public static void main(String[] args) throws IOException, NoMatchException {
        TreeParser parser = new TreeParser(new FileReader("C:\\work\\projects\\ideah\\src\\haskell\\ask_ghc\\err"), new RangeFactory() {

            public IRange parse(String str) {
                LineColRange range = new LineColRange(str);
                return new MyRange(range);
            }

            public IRange create(ILocation start, ILocation end) {
                return new MyRange(start, end);
View Full Code Here


            cmc = CompilerMessageCategory.ERROR;
            posString = posString.substring(1);
        } else {
            cmc = CompilerMessageCategory.ERROR;
        }
        range = new LineColRange(posString);

        String err = ghcError.substring(nextNewLineIndex + newLine.length());

        // strange bug workaround: error message is shown twice
        if (err.length() % 2 == 0) {
View Full Code Here

        if (stdOut.trim().isEmpty())
            return null;
        RangeFactory factory = new RangeFactory() {

            public IRange parse(String str) {
                LineColRange range = new LineColRange(str);
                return new MyRange(range.getRange(file));
            }

            public IRange create(ILocation start, ILocation end) {
                MyLocation from = (MyLocation) start;
                MyLocation to = (MyLocation) end;
                return MyLocation.create(from, to);
            }
        };
        TreeParser parser = new TreeParser(new BufferedReader(new StringReader(stdOut)), factory);
        ModuleTree moduleTree = parser.readTree(new MyRange(file.getTextRange()));

        SortedMap<ILocation, Filler> ranges = new TreeMap<ILocation, Filler>();
        String text = file.getText();
        HaskellLexer lexer = new HaskellLexer();
        lexer.start(text);
        while (true) {
            IElementType type = lexer.getTokenType();
            if (type == null)
                break;
            if (!HaskellTokenTypes.WHITESPACES.contains(type)) {
                TextRange textRange = new TextRange(lexer.getTokenStart(), lexer.getTokenEnd());
                IRange range = new MyRange(textRange);
                ranges.put(range.getStart(), new Filler(range, type, lexer.getTokenText()));
            }
            lexer.advance();
        }
        moduleTree.buildBlocks(ranges, factory);
View Full Code Here

                    public int compare(Import i1, Import i2) {
                        return importRanges.get(i2).end.compareTo(importRanges.get(i1).end);
                    }
                });
                for (Import redImp : redundantImports) {
                    LineColRange range = importRanges.get(redImp);
                    if (range != null) {
                        removeImport(range);
                    }
                }
            }

            private void removeImport(LineColRange range) {
                PsiDocumentManager manager = PsiDocumentManager.getInstance(psiFile.getProject());
                Document document = manager.getDocument(psiFile);
                if (document == null)
                    return;
                manager.commitDocument(document);
                TextRange textRange = range.getRange(psiFile);
                int start = textRange.getStartOffset();
                int end = textRange.getEndOffset();
                int line = document.getLineNumber(end);
                int lineStart = document.getLineStartOffset(line);
                int lineEnd = document.getLineEndOffset(line);
View Full Code Here

                    if (moduleName == null)
                        break;
                    String mrange = bf.readLine();
                    if (mrange == null)
                        break;
                    LineColRange mLineColRange = new LineColRange(mrange);
                    line = bf.readLine();
                    while (line != null && !ProcessLauncher.NEW_MSG_INDICATOR.equals(line)) {
                        String functionName = line;
                        String frange = bf.readLine();
                        if (frange == null)
                            break;
                        LineColRange fLineColRange = new LineColRange(frange);
                        ranges.put(new Import(moduleName, functionName), fLineColRange);
                        line = bf.readLine();
                    }
                    ranges.put(new Import(moduleName), mLineColRange);
                }
View Full Code Here

TOP

Related Classes of ideah.util.LineColRange

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.