private List<ServerDebugVariable> createFrom(VmCallFrame frame) { if (frame.getLocals() == null) { return Collections.emptyList(); } else { List<ServerDebugVariable> variables = new ArrayList<ServerDebugVariable>(); // create a synthetic globals variable variables.add(ServerDebugVariable.createLibraryVariable(getTarget(), vmFrame.getLibraryId())); for (VmVariable var : frame.getLocals()) { ServerDebugVariable serverVariable = new ServerDebugVariable(getTarget(), var); variables.add(serverVariable); } return variables; } }
@Override public String getSourceLocationPath() { URI uri = URI.create(vmFrame.getLocation().getUrl()); // Resolve a package: reference. if (PackageLibraryManager.isPackageUri(uri) && DartCore.getPlugin().getPackageRootPref() != null) { uri = PackageLibraryManagerProvider.getPackageLibraryManager() .resolvePackageUri(vmFrame.getLocation().getUrl()); } if ("file".equals(uri.getScheme())) { return uri.getPath(); } else if (PackageLibraryManager.isDartUri(uri)) { return uri.toString(); } else { return "builtin:" + vmFrame.getLibraryId() + ":" + vmFrame.getLocation().getUrl(); } }
@Override public String getName() throws DebugException { return DebuggerUtils.demanglePrivateName(vmFrame.getFunctionName()) + "()"; }
@Override public int getLineNumber() throws DebugException { return vmFrame.getLocation().getLineNumber(); }