blob: a87db0c192745b401ebf2cfa72283da240fa2386 [file] [log] [blame]
/*
* ProGuard -- shrinking, optimization, obfuscation, and preverification
* of Java bytecode.
*
* Copyright (c) 2002-2017 Eric Lafortune @ GuardSquare
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package proguard.retrace;
/**
* This class represents the class name, field name, method name, etc.
* possibly found in a stack frame. Values that are not defined are null.
*/
public class FrameInfo
{
private final String className;
private final String sourceFile;
private final int lineNumber;
private final String type;
private final String fieldName;
private final String methodName;
private final String arguments;
/**
* Creates a new FrameInfo with the given information.
* Any undefined values can be null.
*/
public FrameInfo(String className,
String sourceFile,
int lineNumber,
String type,
String fieldName,
String methodName,
String arguments)
{
this.className = className;
this.sourceFile = sourceFile;
this.lineNumber = lineNumber;
this.type = type;
this.fieldName = fieldName;
this.methodName = methodName;
this.arguments = arguments;
}
public String getClassName()
{
return className;
}
public String getSourceFile()
{
return sourceFile;
}
public int getLineNumber()
{
return lineNumber;
}
public String getType()
{
return type;
}
public String getFieldName()
{
return fieldName;
}
public String getMethodName()
{
return methodName;
}
public String getArguments()
{
return arguments;
}
// Implementations for Object.
public String toString()
{
return FrameInfo.class.getName() + "(class=["+className+"], line=["+lineNumber+"], type=["+type+"], field=["+fieldName+"], method=["+methodName+"], arguments=["+arguments+"]";
}
}