use of org.eclipse.che.plugin.zdb.server.expressions.IDbgExpression in project che by eclipse.
the class ZendDbgVariable method makeComplete.
@Override
public void makeComplete() {
if (!isComplete) {
// Evaluate wrapped expression to fetch all child variables
zendDbgExpression.evaluate();
variables = new ArrayList<>();
int childId = 0;
for (IDbgExpression child : zendDbgExpression.getChildren()) {
List<String> childPath = new ArrayList<>(variablePath.getPath());
childPath.add(String.valueOf(childId++));
variables.add(new ZendDbgVariable(new VariablePathImpl(childPath), child));
}
isComplete = true;
}
}
use of org.eclipse.che.plugin.zdb.server.expressions.IDbgExpression in project che by eclipse.
the class ZendDebugger method sendGetVariables.
private void sendGetVariables() {
ZendDbgVariables zendVariablesExpression = new ZendDbgVariables(debugExpressionEvaluator);
zendVariablesExpression.evaluate();
List<IDbgVariable> variables = new ArrayList<>();
int variableId = 0;
for (IDbgExpression zendVariableExpression : zendVariablesExpression.getChildren()) {
if (VariablesStorage.GLOBALS_VARIABLE.equalsIgnoreCase(zendVariableExpression.getExpression()))
continue;
IDbgVariable variable = new ZendDbgVariable(new VariablePathImpl(String.valueOf(variableId++)), zendVariableExpression);
if (ZendDbgVariableUtils.isThis(zendVariableExpression.getExpression())) {
// $this always on top
variables.add(0, variable);
} else {
variables.add(variable);
}
}
debugVariableStorage = new VariablesStorage(variables);
}
Aggregations