pointerAtPath method
Pointer
pointerAtPath(
- Path path
)
Implementation
Pointer pointerAtPath(Path path) {
if (path.length == 0) {
return Pointer.Null;
}
Pointer p = Pointer();
var pathLengthToUse = path.length;
SearchResult? result;
if (path.lastComponent!.isIndex) {
_logger.finest('lastComponent is index');
pathLengthToUse = path.length - 1;
result = mainContentContainer.contentAtPath(path,
partialPathLength: pathLengthToUse);
p.container = result.container;
p.index = path.lastComponent!.index;
} else {
_logger.finest('lastComponent is not index');
result = mainContentContainer.contentAtPath(path);
p.container = result.container;
p.index = -1;
}
if (result.obj == null ||
result.obj == mainContentContainer && pathLengthToUse > 0) {
error("Failed to find content at path '$path',"
' and no approximation of it was possible.');
} else if (result.approximate) {
warning("Failed to find content at path '$path',"
" so it was approximated to: '${result.obj!.path}'.");
}
return p;
}