}
public void parse(NameSpace origin, ParseNode root) {
if (root == null)
return;
ParseNode op = root.geChild();
while (op != null) {
switch (op.getType()) {
case Aml.AML_SCOPE:
Scope scope = new Scope(origin, op.getNameToString());
parse(scope, op);
break;
case Aml.AML_DEVICE:
Device device = new Device(origin, op.getNameToString());
Object address = op.findNameValue("_HID");
if (address instanceof String)
device.addAddress("_HID", (String) address);
else if (address instanceof Integer)
device.addAddress("_HID", PnP.eisaIdToString(((Integer) address).intValue()));
parse(device, op);
break;
}
op = op.getNext();
}
}