class DefinitionsRemover.Definition {
/**
* Value expression that acts as the right hand side of the
* definition statement.
*/
public abstract Node getRValue();
}
class DefinitionsRemover.IncompleteDefinition {
@Override
public Node getRValue() {
return null;
}
}
class DefinitionsRemover.FunctionDefinition {
@Override
public Node getRValue() {
return function;
}
}
class DefinitionsRemover.AssignmentDefinition {
@Override
public Node getRValue() {
return assignment.getLastChild();
}
}
class DefinitionsRemover.ObjectLiteralPropertyDefinition {
@Override
public Node getRValue() {
return value;
}
}
class DefinitionsRemover.VarDefinition {
@Override
public Node getRValue() {
return name.getFirstChild();
}
}
|