WALA/com.ibm.wala.cast/source/java/com/ibm/wala/cast/tree/impl/LineNumberPosition.java

62 lines
1.7 KiB
Java

/******************************************************************************
* Copyright (c) 2002 - 2006 IBM Corporation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*****************************************************************************/
package com.ibm.wala.cast.tree.impl;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
public class LineNumberPosition extends AbstractSourcePosition {
private final URL url;
private final URL localFile;
private final int lineNumber;
public LineNumberPosition(URL url, URL localFile, int lineNumber) {
this.url = url;
this.localFile = localFile;
this.lineNumber = lineNumber;
}
@Override
public int getFirstLine() { return lineNumber; }
@Override
public int getLastLine() { return lineNumber; }
@Override
public int getFirstCol() { return -1; }
@Override
public int getLastCol() { return -1; }
@Override
public int getFirstOffset() { return -1; }
@Override
public int getLastOffset() { return -1; }
@Override
public URL getURL() { return url; }
@Override
public Reader getReader() throws IOException {
return new InputStreamReader(localFile.openConnection().getInputStream());
}
@Override
public String toString() {
String nm = url.getFile();
nm = nm.substring(nm.lastIndexOf('/') + 1);
return "[" + nm + ":"+lineNumber+"]";
}
}