package com.jetbrains.lang.dart.ide.runner.client; import com.intellij.javascript.debugger.ExpressionInfoFactory; import com.intellij.openapi.editor.Document; import com.intellij.openapi.fileTypes.LanguageFileType; import com.intellij.psi.PsiElement; import com.intellij.xdebugger.breakpoints.XLineBreakpointType; import com.intellij.xdebugger.evaluation.ExpressionInfo; import com.jetbrains.javascript.debugger.JavaScriptDebugAware; import com.jetbrains.lang.dart.DartFileType; import com.jetbrains.lang.dart.ide.runner.DartLineBreakpointType; import com.jetbrains.lang.dart.ide.runner.server.vmService.frame.DartVmServiceEvaluator; import org.jetbrains.annotations.NotNull; import org.jetbrains.concurrency.Promise; final class DartWebDebugAware extends JavaScriptDebugAware { @Override protected LanguageFileType getFileType() { return DartFileType.INSTANCE; } @Override public boolean isOnlySourceMappedBreakpoints() { return false; } @Override public Class<? extends XLineBreakpointType<?>> getBreakpointTypeClass() { return DartLineBreakpointType.class; } @Override public Promise<ExpressionInfo> getEvaluationInfo(@NotNull PsiElement element, @NotNull Document document, @NotNull ExpressionInfoFactory expressionInfoFactory) { return Promise.resolve(DartVmServiceEvaluator.getExpressionInfo(element)); } }