Search in sources :

Example 1 with PositionManager

use of com.intellij.debugger.PositionManager in project kotlin by JetBrains.

the class AbstractPositionManagerTest method performTest.

private void performTest() {
    Project project = getProject();
    List<KtFile> files = new ArrayList<KtFile>(PluginJetFilesProvider.allFilesInProject(project));
    if (files.isEmpty())
        return;
    final List<Breakpoint> breakpoints = Lists.newArrayList();
    for (KtFile file : files) {
        breakpoints.addAll(extractBreakpointsInfo(file, file.getText()));
    }
    CompilerConfiguration configuration = KotlinTestUtils.newConfiguration(ConfigurationKind.JDK_ONLY, TestJdkKind.MOCK_JDK);
    // TODO: delete this once IDEVirtualFileFinder supports loading .kotlin_builtins files
    configuration.put(JVMConfigurationKeys.ADD_BUILT_INS_FROM_COMPILER_TO_DEPENDENCIES, true);
    GenerationState state = GenerationUtils.compileFiles(files, configuration, new Function1<GlobalSearchScope, PackagePartProvider>() {

        @Override
        public PackagePartProvider invoke(GlobalSearchScope scope) {
            return PackagePartProvider.Empty.INSTANCE;
        }
    });
    Map<String, ReferenceType> referencesByName = getReferenceMap(state.getFactory());
    debugProcess = createDebugProcess(referencesByName);
    final PositionManager positionManager = createPositionManager(debugProcess, files, state);
    ApplicationManager.getApplication().runReadAction(new Runnable() {

        @Override
        public void run() {
            try {
                for (Breakpoint breakpoint : breakpoints) {
                    assertBreakpointIsHandledCorrectly(breakpoint, positionManager);
                }
            } catch (NoDataException e) {
                throw ExceptionUtilsKt.rethrow(e);
            }
        }
    });
}
Also used : PositionManager(com.intellij.debugger.PositionManager) ArrayList(java.util.ArrayList) GenerationState(org.jetbrains.kotlin.codegen.state.GenerationState) ReferenceType(com.sun.jdi.ReferenceType) Project(com.intellij.openapi.project.Project) GlobalSearchScope(com.intellij.psi.search.GlobalSearchScope) PackagePartProvider(org.jetbrains.kotlin.descriptors.PackagePartProvider) CompilerConfiguration(org.jetbrains.kotlin.config.CompilerConfiguration) KtFile(org.jetbrains.kotlin.psi.KtFile) NoDataException(com.intellij.debugger.NoDataException)

Aggregations

NoDataException (com.intellij.debugger.NoDataException)1 PositionManager (com.intellij.debugger.PositionManager)1 Project (com.intellij.openapi.project.Project)1 GlobalSearchScope (com.intellij.psi.search.GlobalSearchScope)1 ReferenceType (com.sun.jdi.ReferenceType)1 ArrayList (java.util.ArrayList)1 GenerationState (org.jetbrains.kotlin.codegen.state.GenerationState)1 CompilerConfiguration (org.jetbrains.kotlin.config.CompilerConfiguration)1 PackagePartProvider (org.jetbrains.kotlin.descriptors.PackagePartProvider)1 KtFile (org.jetbrains.kotlin.psi.KtFile)1