|
Groovy example source code file (LineColumnChecker.java)
The Groovy LineColumnChecker.java source code/** * * Copyright 2005 Jeremy Rayner * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **/ package org.codehaus.groovy.antlr.treewalker; import org.codehaus.groovy.antlr.GroovySourceAST; import org.codehaus.groovy.antlr.LineColumn; import org.codehaus.groovy.antlr.SourceBuffer; /** * Source AST Visitor that will assert each node has a correct line/column info * given a SourceBuffer * * @author Jeremy Rayner */ public class LineColumnChecker extends VisitorAdapter { private SourceBuffer sourceBuffer; private String[] tokenNames; public LineColumnChecker(SourceBuffer sourceBuffer, String[] tokenNames) { this.sourceBuffer = sourceBuffer; this.tokenNames = tokenNames; } public void visitDefault(GroovySourceAST t,int visit) { if (visit == OPENING_VISIT ) { System.out.println("[" + tokenNames[t.getType()] + "]"); int line = t.getLine(); int column = t.getColumn(); int lineLast = t.getLineLast(); int columnLast = t.getColumnLast(); System.out.println("" + line + " / " + column + " - " + lineLast + " / " + columnLast); if (line > 0 && column > 0 && lineLast > 0 && columnLast > 0) { System.out.println("" + sourceBuffer.getSnippet(new LineColumn(line, column), new LineColumn(lineLast, columnLast))); } else { System.out.println("ZERO"); } } else if (visit == CLOSING_VISIT) { System.out.println(); } } } Other Groovy examples (source code examples)Here is a short list of links related to this Groovy LineColumnChecker.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.