Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
soot.JastAddJ.Expr Maven / Gradle / Ivy
/* This file was generated with JastAdd2 (http://jastadd.org) version R20130212 (r1031) */
package soot.JastAddJ;
import java.util.HashSet;
import java.io.File;
import java.util.*;
import beaver.*;
import java.util.ArrayList;
import java.util.zip.*;
import java.io.*;
import java.io.FileNotFoundException;
import java.util.Collection;
import soot.*;
import soot.util.*;
import soot.jimple.*;
import soot.coffi.ClassFile;
import soot.coffi.method_info;
import soot.coffi.CONSTANT_Utf8_info;
import soot.tagkit.SourceFileTag;
import soot.coffi.CoffiMethodSource;
/**
* @production Expr : {@link ASTNode};
* @ast node
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/java.ast:104
*/
public abstract class Expr extends ASTNode implements Cloneable {
/**
* @apilevel low-level
*/
public void flushCache() {
super.flushCache();
false_label_computed = false;
false_label_value = null;
true_label_computed = false;
true_label_value = null;
}
/**
* @apilevel internal
*/
public void flushCollectionCache() {
super.flushCollectionCache();
}
/**
* @apilevel internal
*/
@SuppressWarnings({"unchecked", "cast"})
public Expr clone() throws CloneNotSupportedException {
Expr node = (Expr)super.clone();
node.false_label_computed = false;
node.false_label_value = null;
node.true_label_computed = false;
node.true_label_value = null;
node.in$Circle(false);
node.is$Final(false);
return node;
}
/**
* @ast method
* @aspect TypeScopePropagation
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:461
*/
public SimpleSet keepAccessibleTypes(SimpleSet oldSet) {
SimpleSet newSet = SimpleSet.emptySet;
TypeDecl hostType = hostType();
for(Iterator iter = oldSet.iterator(); iter.hasNext(); ) {
TypeDecl t = (TypeDecl)iter.next();
if((hostType != null && t.accessibleFrom(hostType)) || (hostType == null && t.accessibleFromPackage(hostPackage())))
newSet = newSet.add(t);
}
return newSet;
}
/**
* Remove fields that are not accessible when using this Expr as qualifier
* @return a set containing the accessible fields
* @ast method
* @aspect VariableScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupVariable.jrag:169
*/
public SimpleSet keepAccessibleFields(SimpleSet oldSet) {
SimpleSet newSet = SimpleSet.emptySet;
for(Iterator iter = oldSet.iterator(); iter.hasNext(); ) {
Variable v = (Variable)iter.next();
if(v instanceof FieldDeclaration) {
FieldDeclaration f = (FieldDeclaration)v;
if(mayAccess(f))
newSet = newSet.add(f);
}
}
return newSet;
}
/**
* @see "JLS $6.6.2.1"
* @return true if the expression may access the given field
* @ast method
* @aspect VariableScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupVariable.jrag:196
*/
public boolean mayAccess(FieldDeclaration f) {
if(f.isPublic()) {
return true;
} else if(f.isProtected()) {
if(f.hostPackage().equals(hostPackage()))
return true;
return hostType().mayAccess(this, f);
} else if(f.isPrivate()) {
return f.hostType().topLevelType() == hostType().topLevelType();
} else {
return f.hostPackage().equals(hostType().hostPackage());
}
}
/**
* @ast method
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:106
*/
public Dot qualifiesAccess(Access access) {
Dot dot = new Dot(this, access);
dot.setStart(this.getStart());
dot.setEnd(access.getEnd());
return dot;
}
/**
* @ast method
* @aspect MethodSignature15
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/MethodSignature.jrag:91
*/
protected SimpleSet chooseConstructor(Collection constructors, List argList) {
SimpleSet potentiallyApplicable = SimpleSet.emptySet;
// select potentially applicable constructors
for(Iterator iter = constructors.iterator(); iter.hasNext(); ) {
ConstructorDecl decl = (ConstructorDecl)iter.next();
if(decl.potentiallyApplicable(argList) && decl.accessibleFrom(hostType()))
potentiallyApplicable = potentiallyApplicable.add(decl);
}
// first phase
SimpleSet maxSpecific = SimpleSet.emptySet;
for(Iterator iter = potentiallyApplicable.iterator(); iter.hasNext(); ) {
ConstructorDecl decl = (ConstructorDecl)iter.next();
if(decl.applicableBySubtyping(argList))
maxSpecific = mostSpecific(maxSpecific, decl);
}
// second phase
if(maxSpecific.isEmpty()) {
for(Iterator iter = potentiallyApplicable.iterator(); iter.hasNext(); ) {
ConstructorDecl decl = (ConstructorDecl)iter.next();
if(decl.applicableByMethodInvocationConversion(argList))
maxSpecific = mostSpecific(maxSpecific, decl);
}
}
// third phase
if(maxSpecific.isEmpty()) {
for(Iterator iter = potentiallyApplicable.iterator(); iter.hasNext(); ) {
ConstructorDecl decl = (ConstructorDecl)iter.next();
if(decl.isVariableArity() && decl.applicableVariableArity(argList))
maxSpecific = mostSpecific(maxSpecific, decl);
}
}
return maxSpecific;
}
/**
* @ast method
* @aspect MethodSignature15
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/MethodSignature.jrag:128
*/
protected static SimpleSet mostSpecific(SimpleSet maxSpecific, ConstructorDecl decl) {
if(maxSpecific.isEmpty())
maxSpecific = maxSpecific.add(decl);
else {
if(decl.moreSpecificThan((ConstructorDecl)maxSpecific.iterator().next()))
maxSpecific = SimpleSet.emptySet.add(decl);
else if(!((ConstructorDecl)maxSpecific.iterator().next()).moreSpecificThan(decl))
maxSpecific = maxSpecific.add(decl);
}
return maxSpecific;
}
/**
* @ast method
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:105
*/
protected soot.Value emitBooleanCondition(Body b) {
b.setLine(this);
emitEvalBranch(b);
soot.jimple.Stmt end_label = newLabel();
b.addLabel(false_label());
Local result = b.newTemp(soot.BooleanType.v());
b.add(b.newAssignStmt(result, BooleanType.emitConstant(false), this));
b.add(b.newGotoStmt(end_label, this));
b.addLabel(true_label());
b.add(b.newAssignStmt(result, BooleanType.emitConstant(true), this));
b.addLabel(end_label);
return result;
}
/**
* @ast method
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:158
*/
public void refined_BooleanExpressions_Expr_emitEvalBranch(Body b) {
b.setLine(this);
if(isTrue())
b.add(b.newGotoStmt(true_label(), this));
else if(isFalse())
b.add(b.newGotoStmt(false_label(), this));
else {
b.add(
b.newIfStmt(
b.newEqExpr(
asImmediate(b, eval(b)),
BooleanType.emitConstant(false),
this
),
false_label(),
this
)
);
b.add(b.newGotoStmt(true_label(), this));
}
}
/**
* @ast method
* @aspect Expressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/Expressions.jrag:11
*/
public soot.Value eval(Body b) {
throw new Error("Operation eval not supported for " + getClass().getName());
}
/**
* @ast method
* @aspect Expressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/Expressions.jrag:259
*/
public soot.Value emitStore(Body b, soot.Value lvalue, soot.Value rvalue, ASTNode location) {
b.setLine(this);
b.add(
b.newAssignStmt(
lvalue,
asLocal(b, rvalue, lvalue.getType()),
location
)
);
return rvalue;
}
/**
* @ast method
* @aspect EmitJimpleRefinements
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/EmitJimpleRefinements.jrag:202
*/
public void collectTypesToHierarchy(Collection set) {
super.collectTypesToHierarchy(set);
// collect all expr types that are reference types
// select the element type in case it is an array type
addDependencyIfNeeded(set, type());
}
/**
* @ast method
* @aspect EmitJimpleRefinements
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/SootJastAddJ/EmitJimpleRefinements.jrag:209
*/
protected void addDependencyIfNeeded(Collection set, TypeDecl type) {
type = type.elementType().erasure();
if(type.isReferenceType() && !type.isUnknown())
set.add(type.getSootType());
}
/**
* @ast method
*
*/
public Expr() {
super();
}
/**
* Initializes the child array to the correct size.
* Initializes List and Opt nta children.
* @apilevel internal
* @ast method
* @ast method
*
*/
public void init$Children() {
}
/**
* @apilevel low-level
* @ast method
*
*/
protected int numChildren() {
return 0;
}
/**
* @apilevel internal
* @ast method
*
*/
public boolean mayHaveRewrite() {
return false;
}
/**
* @ast method
* @aspect AutoBoxingCodegen
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/Jimple1.5Backend/AutoBoxingCodegen.jrag:100
*/
public void emitEvalBranch(Body b) {
if(type().isReferenceType()) {
b.setLine(this);
b.add(
b.newIfStmt(
b.newEqExpr(
asImmediate(b, type().emitUnboxingOperation(b, eval(b), this)),
BooleanType.emitConstant(false),
this
),
false_label(),
this
)
);
b.add(b.newGotoStmt(true_label(), this));
}
else
refined_BooleanExpressions_Expr_emitEvalBranch(b);
}
/**
* @attribute syn
* @aspect TypeAnalysis
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:276
*/
@SuppressWarnings({"unchecked", "cast"})
public abstract TypeDecl type();
/**
* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:91
*/
public Constant constant() {
ASTNode$State state = state();
try {
throw new UnsupportedOperationException("ConstantExpression operation constant" +
" not supported for type " + getClass().getName());
}
finally {
}
}
/*syn lazy boolean FloatingPointLiteral.isZero() {
String s = getLITERAL();
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(c == 'E' || c == 'e')
break;
if(Character.isDigit(c) && c != '0') {
return false;
}
}
return true;
}
syn lazy boolean DoubleLiteral.isZero() {
String s = getLITERAL();
for(int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if(c == 'E' || c == 'e')
break;
if(Character.isDigit(c) && c != '0') {
return false;
}
}
return true;
}* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:152
*/
public boolean isPositive() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/*
* representableIn(T) is true if and only if the the expression is a
* compile-time constant of type byte, char, short or int, and the value
* of the expression can be represented (by an expression) in the type T
* where T must be byte, char or short.
* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:308
*/
public boolean representableIn(TypeDecl t) {
ASTNode$State state = state();
try {
if (!type().isByte() && !type().isChar() && !type().isShort() && !type().isInt()) {
return false;
}
if (t.isByte())
return constant().intValue() >= Byte.MIN_VALUE && constant().intValue() <= Byte.MAX_VALUE;
if (t.isChar())
return constant().intValue() >= Character.MIN_VALUE && constant().intValue() <= Character.MAX_VALUE;
if (t.isShort())
return constant().intValue() >= Short.MIN_VALUE && constant().intValue() <= Short.MAX_VALUE;
if(t.isInt())
return constant().intValue() >= Integer.MIN_VALUE && constant().intValue() <= Integer.MAX_VALUE;
return false;
}
finally {
}
}
/**
* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:336
*/
public boolean isConstant() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:365
*/
public boolean isTrue() {
ASTNode$State state = state();
try { return isConstant() && type() instanceof BooleanType && constant().booleanValue(); }
finally {
}
}
/**
* @attribute syn
* @aspect ConstantExpression
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/ConstantExpression.jrag:366
*/
public boolean isFalse() {
ASTNode$State state = state();
try { return isConstant() && type() instanceof BooleanType && !constant().booleanValue(); }
finally {
}
}
/**
* @attribute syn
* @aspect DefiniteAssignment
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:58
*/
public Variable varDecl() {
ASTNode$State state = state();
try { return null; }
finally {
}
}
/**
* @attribute syn
* @aspect DA
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:333
*/
public boolean isDAafterFalse(Variable v) {
ASTNode$State state = state();
try { return isTrue() || isDAbefore(v); }
finally {
}
}
/*eq Stmt.isDAafter(Variable v) {
//System.out.println("### isDAafter reached in " + getClass().getName());
//throw new NullPointerException();
throw new Error("Can not compute isDAafter for " + getClass().getName() + " at " + errorPrefix());
}* @attribute syn
* @aspect DA
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:332
*/
public boolean isDAafterTrue(Variable v) {
ASTNode$State state = state();
try { return isFalse() || isDAbefore(v); }
finally {
}
}
/**
* @attribute syn
* @aspect DA
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:235
*/
public boolean isDAafter(Variable v) {
ASTNode$State state = state();
try { return (isDAafterFalse(v) && isDAafterTrue(v)) || isDAbefore(v); }
finally {
}
}
/**
* @attribute syn
* @aspect DU
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:703
*/
public boolean isDUafterFalse(Variable v) {
ASTNode$State state = state();
try {
if(isTrue())
return true;
return isDUbefore(v);
}
finally {
}
}
/**
* @attribute syn
* @aspect DU
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:702
*/
public boolean isDUafterTrue(Variable v) {
ASTNode$State state = state();
try {
if(isFalse())
return true;
return isDUbefore(v);
}
finally {
}
}
/**
* @attribute syn
* @aspect DU
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:694
*/
public boolean isDUafter(Variable v) {
ASTNode$State state = state();
try { return (isDUafterFalse(v) && isDUafterTrue(v)) || isDUbefore(v); }
finally {
}
}
/**
* @attribute syn
* @aspect ConstructScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:32
*/
public SimpleSet mostSpecificConstructor(Collection constructors) {
ASTNode$State state = state();
try {
SimpleSet maxSpecific = SimpleSet.emptySet;
for(Iterator iter = constructors.iterator(); iter.hasNext(); ) {
ConstructorDecl decl = (ConstructorDecl)iter.next();
if(applicableAndAccessible(decl)) {
if(maxSpecific.isEmpty())
maxSpecific = maxSpecific.add(decl);
else {
if(decl.moreSpecificThan((ConstructorDecl)maxSpecific.iterator().next()))
maxSpecific = SimpleSet.emptySet.add(decl);
else if(!((ConstructorDecl)maxSpecific.iterator().next()).moreSpecificThan(decl))
maxSpecific = maxSpecific.add(decl);
}
}
}
return maxSpecific;
}
finally {
}
}
/**
* @attribute syn
* @aspect ConstructScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupConstructor.jrag:50
*/
public boolean applicableAndAccessible(ConstructorDecl decl) {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect LookupFullyQualifiedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:83
*/
public boolean hasQualifiedPackage(String packageName) {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect TypeScopePropagation
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:430
*/
public SimpleSet qualifiedLookupType(String name) {
ASTNode$State state = state();
try { return keepAccessibleTypes(type().memberTypes(name)); }
finally {
}
}
/**
* @attribute syn
* @aspect VariableScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupVariable.jrag:148
*/
public SimpleSet qualifiedLookupVariable(String name) {
ASTNode$State state = state();
try {
if(type().accessibleFrom(hostType()))
return keepAccessibleFields(type().memberFields(name));
return SimpleSet.emptySet;
}
finally {
}
}
/**
* @attribute syn
* @aspect Names
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/QualifiedNames.jrag:25
*/
public String packageName() {
ASTNode$State state = state();
try { return ""; }
finally {
}
}
/**
* @attribute syn
* @aspect Names
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/QualifiedNames.jrag:62
*/
public String typeName() {
ASTNode$State state = state();
try { return ""; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:13
*/
public boolean isTypeAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:17
*/
public boolean isMethodAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:21
*/
public boolean isFieldAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:25
*/
public boolean isSuperAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:31
*/
public boolean isThisAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:37
*/
public boolean isPackageAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:41
*/
public boolean isArrayAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:45
*/
public boolean isClassAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect AccessTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:49
*/
public boolean isSuperConstructorAccess() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:55
*/
public boolean isLeftChildOfDot() {
ASTNode$State state = state();
try { return hasParentDot() && parentDot().getLeft() == this; }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:56
*/
public boolean isRightChildOfDot() {
ASTNode$State state = state();
try { return hasParentDot() && parentDot().getRight() == this; }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:69
*/
public AbstractDot parentDot() {
ASTNode$State state = state();
try { return getParent() instanceof AbstractDot ? (AbstractDot)getParent() : null; }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:70
*/
public boolean hasParentDot() {
ASTNode$State state = state();
try { return parentDot() != null; }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:72
*/
public Access nextAccess() {
ASTNode$State state = state();
try { return parentDot().nextAccess(); }
finally {
}
}
/**
* @attribute syn
* @aspect QualifiedNames
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/ResolveAmbiguousNames.jrag:73
*/
public boolean hasNextAccess() {
ASTNode$State state = state();
try { return isLeftChildOfDot(); }
finally {
}
}
/**
* @attribute syn
* @aspect NestedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:503
*/
public Stmt enclosingStmt() {
ASTNode$State state = state();
try {
ASTNode node = this;
while(node != null && !(node instanceof Stmt))
node = node.getParent();
return (Stmt)node;
}
finally {
}
}
/**
* @attribute syn
* @aspect TypeCheck
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeCheck.jrag:15
*/
public boolean isVariable() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect TypeHierarchyCheck
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:20
*/
public boolean isUnknown() {
ASTNode$State state = state();
try { return type().isUnknown(); }
finally {
}
}
/**
* @attribute syn
* @aspect TypeHierarchyCheck
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:150
*/
public boolean staticContextQualifier() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect Enums
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Enums.jrag:500
*/
public boolean isEnumConstant() {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @apilevel internal
*/
protected boolean false_label_computed = false;
/**
* @apilevel internal
*/
protected soot.jimple.Stmt false_label_value;
/**
* @attribute syn
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:16
*/
@SuppressWarnings({"unchecked", "cast"})
public soot.jimple.Stmt false_label() {
if(false_label_computed) {
return false_label_value;
}
ASTNode$State state = state();
int num = state.boundariesCrossed;
boolean isFinal = this.is$Final();
false_label_value = false_label_compute();
if(isFinal && num == state().boundariesCrossed) false_label_computed = true;
return false_label_value;
}
/**
* @apilevel internal
*/
private soot.jimple.Stmt false_label_compute() { return getParent().definesLabel() ? condition_false_label() : newLabel(); }
/**
* @apilevel internal
*/
protected boolean true_label_computed = false;
/**
* @apilevel internal
*/
protected soot.jimple.Stmt true_label_value;
/**
* @attribute syn
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:18
*/
@SuppressWarnings({"unchecked", "cast"})
public soot.jimple.Stmt true_label() {
if(true_label_computed) {
return true_label_value;
}
ASTNode$State state = state();
int num = state.boundariesCrossed;
boolean isFinal = this.is$Final();
true_label_value = true_label_compute();
if(isFinal && num == state().boundariesCrossed) true_label_computed = true;
return true_label_value;
}
/**
* @apilevel internal
*/
private soot.jimple.Stmt true_label_compute() { return getParent().definesLabel() ? condition_true_label() : newLabel(); }
/**
* @attribute syn
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:82
*/
public boolean canBeTrue() {
ASTNode$State state = state();
try { return !isFalse(); }
finally {
}
}
/**
* @attribute syn
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:92
*/
public boolean canBeFalse() {
ASTNode$State state = state();
try { return !isTrue(); }
finally {
}
}
/**
* @attribute syn
* @aspect PreciseRethrow
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/PreciseRethrow.jrag:11
*/
public Collection throwTypes() {
ASTNode$State state = state();
try {
Collection tts = new LinkedList();
tts.add(type());
return tts;
}
finally {
}
}
/**
* @attribute syn
* @aspect PreciseRethrow
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/PreciseRethrow.jrag:111
*/
public boolean modifiedInScope(Variable var) {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute syn
* @aspect PreciseRethrow
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java7Frontend/PreciseRethrow.jrag:115
*/
public boolean isVariable(Variable var) {
ASTNode$State state = state();
try { return false; }
finally {
}
}
/**
* @attribute inh
* @aspect DefiniteAssignment
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:15
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean isDest() {
ASTNode$State state = state();
boolean isDest_value = getParent().Define_boolean_isDest(this, null);
return isDest_value;
}
/**
* @attribute inh
* @aspect DefiniteAssignment
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:25
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean isSource() {
ASTNode$State state = state();
boolean isSource_value = getParent().Define_boolean_isSource(this, null);
return isSource_value;
}
/**
* @attribute inh
* @aspect DefiniteAssignment
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:49
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean isIncOrDec() {
ASTNode$State state = state();
boolean isIncOrDec_value = getParent().Define_boolean_isIncOrDec(this, null);
return isIncOrDec_value;
}
/**
* @attribute inh
* @aspect DA
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:234
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean isDAbefore(Variable v) {
ASTNode$State state = state();
boolean isDAbefore_Variable_value = getParent().Define_boolean_isDAbefore(this, null, v);
return isDAbefore_Variable_value;
}
/**
* @attribute inh
* @aspect DU
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/DefiniteAssignment.jrag:693
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean isDUbefore(Variable v) {
ASTNode$State state = state();
boolean isDUbefore_Variable_value = getParent().Define_boolean_isDUbefore(this, null, v);
return isDUbefore_Variable_value;
}
/**
* @attribute inh
* @aspect LookupMethod
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupMethod.jrag:23
*/
@SuppressWarnings({"unchecked", "cast"})
public Collection lookupMethod(String name) {
ASTNode$State state = state();
Collection lookupMethod_String_value = getParent().Define_Collection_lookupMethod(this, null, name);
return lookupMethod_String_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:49
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeBoolean() {
ASTNode$State state = state();
TypeDecl typeBoolean_value = getParent().Define_TypeDecl_typeBoolean(this, null);
return typeBoolean_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:50
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeByte() {
ASTNode$State state = state();
TypeDecl typeByte_value = getParent().Define_TypeDecl_typeByte(this, null);
return typeByte_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:51
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeShort() {
ASTNode$State state = state();
TypeDecl typeShort_value = getParent().Define_TypeDecl_typeShort(this, null);
return typeShort_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:52
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeChar() {
ASTNode$State state = state();
TypeDecl typeChar_value = getParent().Define_TypeDecl_typeChar(this, null);
return typeChar_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:53
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeInt() {
ASTNode$State state = state();
TypeDecl typeInt_value = getParent().Define_TypeDecl_typeInt(this, null);
return typeInt_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:54
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeLong() {
ASTNode$State state = state();
TypeDecl typeLong_value = getParent().Define_TypeDecl_typeLong(this, null);
return typeLong_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:55
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeFloat() {
ASTNode$State state = state();
TypeDecl typeFloat_value = getParent().Define_TypeDecl_typeFloat(this, null);
return typeFloat_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:56
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeDouble() {
ASTNode$State state = state();
TypeDecl typeDouble_value = getParent().Define_TypeDecl_typeDouble(this, null);
return typeDouble_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:57
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeString() {
ASTNode$State state = state();
TypeDecl typeString_value = getParent().Define_TypeDecl_typeString(this, null);
return typeString_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:58
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeVoid() {
ASTNode$State state = state();
TypeDecl typeVoid_value = getParent().Define_TypeDecl_typeVoid(this, null);
return typeVoid_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:59
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl typeNull() {
ASTNode$State state = state();
TypeDecl typeNull_value = getParent().Define_TypeDecl_typeNull(this, null);
return typeNull_value;
}
/**
* @attribute inh
* @aspect SpecialClasses
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:72
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl unknownType() {
ASTNode$State state = state();
TypeDecl unknownType_value = getParent().Define_TypeDecl_unknownType(this, null);
return unknownType_value;
}
/**
* @attribute inh
* @aspect LookupFullyQualifiedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:86
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean hasPackage(String packageName) {
ASTNode$State state = state();
boolean hasPackage_String_value = getParent().Define_boolean_hasPackage(this, null, packageName);
return hasPackage_String_value;
}
/**
* @attribute inh
* @aspect LookupFullyQualifiedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:95
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl lookupType(String packageName, String typeName) {
ASTNode$State state = state();
TypeDecl lookupType_String_String_value = getParent().Define_TypeDecl_lookupType(this, null, packageName, typeName);
return lookupType_String_String_value;
}
/**
* @attribute inh
* @aspect TypeScopePropagation
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupType.jrag:264
*/
@SuppressWarnings({"unchecked", "cast"})
public SimpleSet lookupType(String name) {
ASTNode$State state = state();
SimpleSet lookupType_String_value = getParent().Define_SimpleSet_lookupType(this, null, name);
return lookupType_String_value;
}
/**
* @attribute inh
* @aspect VariableScope
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/LookupVariable.jrag:19
*/
@SuppressWarnings({"unchecked", "cast"})
public SimpleSet lookupVariable(String name) {
ASTNode$State state = state();
SimpleSet lookupVariable_String_value = getParent().Define_SimpleSet_lookupVariable(this, null, name);
return lookupVariable_String_value;
}
/**
* @attribute inh
* @aspect SyntacticClassification
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/SyntacticClassification.jrag:20
*/
@SuppressWarnings({"unchecked", "cast"})
public NameType nameType() {
ASTNode$State state = state();
NameType nameType_value = getParent().Define_NameType_nameType(this, null);
return nameType_value;
}
/**
* @attribute inh
* @aspect NestedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:510
*/
@SuppressWarnings({"unchecked", "cast"})
public BodyDecl enclosingBodyDecl() {
ASTNode$State state = state();
BodyDecl enclosingBodyDecl_value = getParent().Define_BodyDecl_enclosingBodyDecl(this, null);
return enclosingBodyDecl_value;
}
/**
* @attribute inh
* @aspect NestedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:567
*/
@SuppressWarnings({"unchecked", "cast"})
public String hostPackage() {
ASTNode$State state = state();
String hostPackage_value = getParent().Define_String_hostPackage(this, null);
return hostPackage_value;
}
/**
* @attribute inh
* @aspect NestedTypes
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeAnalysis.jrag:586
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl hostType() {
ASTNode$State state = state();
TypeDecl hostType_value = getParent().Define_TypeDecl_hostType(this, null);
return hostType_value;
}
/**
* @attribute inh
* @aspect TypeHierarchyCheck
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:11
*/
@SuppressWarnings({"unchecked", "cast"})
public String methodHost() {
ASTNode$State state = state();
String methodHost_value = getParent().Define_String_methodHost(this, null);
return methodHost_value;
}
/**
* @attribute inh
* @aspect TypeHierarchyCheck
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.4Frontend/TypeHierarchyCheck.jrag:134
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean inStaticContext() {
ASTNode$State state = state();
boolean inStaticContext_value = getParent().Define_boolean_inStaticContext(this, null);
return inStaticContext_value;
}
/**
* @attribute inh
* @aspect GenericMethodsInference
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/GenericMethodsInference.jrag:33
*/
@SuppressWarnings({"unchecked", "cast"})
public TypeDecl assignConvertedType() {
ASTNode$State state = state();
TypeDecl assignConvertedType_value = getParent().Define_TypeDecl_assignConvertedType(this, null);
return assignConvertedType_value;
}
/**
* @attribute inh
* @aspect GenericsTypeAnalysis
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddJ/Java1.5Frontend/Generics.jrag:271
*/
@SuppressWarnings({"unchecked", "cast"})
public boolean inExtendsOrImplements() {
ASTNode$State state = state();
boolean inExtendsOrImplements_value = getParent().Define_boolean_inExtendsOrImplements(this, null);
return inExtendsOrImplements_value;
}
/**
* @attribute inh
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:48
*/
@SuppressWarnings({"unchecked", "cast"})
public soot.jimple.Stmt condition_false_label() {
ASTNode$State state = state();
soot.jimple.Stmt condition_false_label_value = getParent().Define_soot_jimple_Stmt_condition_false_label(this, null);
return condition_false_label_value;
}
/**
* @attribute inh
* @aspect BooleanExpressions
* @declaredat /Users/eric/Documents/workspaces/clara-soot/JastAddExtensions/JimpleBackend/BooleanExpressions.jrag:52
*/
@SuppressWarnings({"unchecked", "cast"})
public soot.jimple.Stmt condition_true_label() {
ASTNode$State state = state();
soot.jimple.Stmt condition_true_label_value = getParent().Define_soot_jimple_Stmt_condition_true_label(this, null);
return condition_true_label_value;
}
/**
* @apilevel internal
*/
public ASTNode rewriteTo() {
return super.rewriteTo();
}
}