当前位置: 首页>>代码示例>>Java>>正文


Java DebugUtil.currentStackTrace方法代码示例

本文整理汇总了Java中com.intellij.psi.impl.DebugUtil.currentStackTrace方法的典型用法代码示例。如果您正苦于以下问题:Java DebugUtil.currentStackTrace方法的具体用法?Java DebugUtil.currentStackTrace怎么用?Java DebugUtil.currentStackTrace使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.intellij.psi.impl.DebugUtil的用法示例。


在下文中一共展示了DebugUtil.currentStackTrace方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: PsiClassStubImpl

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
public PsiClassStubImpl(final JavaClassElementType type,
                        final StubElement parent,
                        final StringRef qualifiedName,
                        final StringRef name,
                        final StringRef baseRefText,
                        final byte flags) {
  super(parent, type);
  myQualifiedName = qualifiedName;
  myName = name;
  myBaseRefText = baseRefText;
  myFlags = flags;
  if (StubBasedPsiElementBase.ourTraceStubAstBinding) {
    String creationTrace = "Stub creation thread: " + Thread.currentThread() + "\n" + DebugUtil.currentStackTrace();
    putUserData(StubBasedPsiElementBase.CREATION_TRACE, creationTrace);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:PsiClassStubImpl.java

示例2: watchTail

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
private void watchTail(int offset) {
  stopWatching();
  tailWatcher = (RangeMarkerEx)getDocument().createRangeMarker(offset, offset);
  if (!tailWatcher.isValid()) {
    throw new AssertionError(getDocument() + "; offset=" + offset);
  }
  tailWatcher.setGreedyToRight(true);
  spy = new RangeMarkerSpy(tailWatcher) {
    @Override
    protected void invalidated(DocumentEvent e) {
      if (ApplicationManager.getApplication().isUnitTestMode()) {
        LOG.error("Tail offset invalidated, say thanks to the "+ e);
      }

      if (invalidateTrace == null) {
        invalidateTrace = DebugUtil.currentStackTrace();
        killer = e;
      }
    }
  };
  getDocument().addDocumentListener(spy);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:23,代码来源:CompletionAssertions.java

示例3: stubTreeAndIndexDoNotMatch

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
@Override
protected Object stubTreeAndIndexDoNotMatch(@NotNull ObjectStubTree stubTree, PsiFileWithStubSupport psiFile) {
  final VirtualFile virtualFile = psiFile.getVirtualFile();
  StubTree stubTreeFromIndex = (StubTree)StubTreeLoader.getInstance().readFromVFile(psiFile.getProject(), virtualFile);
  String details = "Please report the problem to JetBrains with the file attached";
  details += StubTreeLoader.getInstance().getStubAstMismatchDiagnostics(virtualFile, psiFile, stubTree, null);
  details += "\n" + DebugUtil.currentStackTrace();
  String fileText = psiFile instanceof PsiCompiledElement ? "compiled" : psiFile.getText();
  return LogMessageEx.createEvent("PSI and index do not match",
                                  details,
                                  new Attachment(virtualFile.getPath() + "_file.txt", fileText),
                                  new Attachment("stubTree.txt", ((PsiFileStubImpl)stubTree.getRoot()).printTree()),
                                  new Attachment("stubTreeFromIndex.txt", stubTreeFromIndex == null
                                                                          ? "null"
                                                                          : ((PsiFileStubImpl)stubTreeFromIndex.getRoot()).printTree()));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:17,代码来源:StubProcessingHelper.java

示例4: assertCompletionPositionPsiConsistent

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCompletionPositionPsiConsistent(CompletionContext newContext,
                                                  int offset,
                                                  PsiFile fileCopy,
                                                  PsiFile originalFile, PsiElement insertedElement) {
  if (insertedElement == null) {
    throw new LogEventException("No element at insertion offset",
                                                                 "offset=" +
                                                                 newContext.getStartOffset() +
                                                                 "\n" +
                                                                 DebugUtil.currentStackTrace(),
                                                                 createFileTextAttachment(fileCopy, originalFile),
                                                                 createAstAttachment(fileCopy, originalFile));
  }

  if (fileCopy.findElementAt(offset) != insertedElement) {
    throw new AssertionError("wrong offset");
  }

  final TextRange range = insertedElement.getTextRange();
  if (!range.substring(fileCopy.getText()).equals(insertedElement.getText())) {
    throw new LogEventException("Inconsistent completion tree", "range=" + range + "\n" + DebugUtil.currentStackTrace(),
                                       createFileTextAttachment(fileCopy, originalFile), createAstAttachment(fileCopy, originalFile),
                                       new Attachment("Element at caret.txt", insertedElement.getText()));
  }
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:26,代码来源:CompletionAssertions.java

示例5: PsiClassStubImpl

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
public PsiClassStubImpl(final JavaClassElementType type,
		final StubElement parent,
		@Nullable final String qualifiedName,
		@Nullable final String name,
		@Nullable final String baseRefText,
		final byte flags)
{
	super(parent, type);
	myQualifiedName = qualifiedName;
	myName = name;
	myBaseRefText = baseRefText;
	myFlags = flags;
	if(StubBasedPsiElementBase.ourTraceStubAstBinding)
	{
		String creationTrace = "Stub creation thread: " + Thread.currentThread() + "\n" + DebugUtil.currentStackTrace();
		putUserData(StubBasedPsiElementBase.CREATION_TRACE, creationTrace);
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:19,代码来源:PsiClassStubImpl.java

示例6: addTrace

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
private void addTrace(@Nullable PsiClassStub stub)
{
	if(ourTraceStubAstBinding)
	{
		String creationTrace = "Creation thread: " + Thread.currentThread() + "\n" + DebugUtil.currentStackTrace();
		if(stub != null)
		{
			creationTrace += "\nfrom stub " + stub + "@" + System.identityHashCode(stub) + "\n";
			if(stub instanceof UserDataHolder)
			{
				String stubTrace = ((UserDataHolder) stub).getUserData(CREATION_TRACE);
				if(stubTrace != null)
				{
					creationTrace += stubTrace;
				}
			}
		}
		putUserData(CREATION_TRACE, creationTrace);
	}
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:21,代码来源:PsiClassImpl.java

示例7: assertCompletionPositionPsiConsistent

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCompletionPositionPsiConsistent(CompletionContext newContext,
                                                  int offset,
                                                  PsiFile fileCopy,
                                                  PsiFile originalFile, PsiElement insertedElement) {
  if (insertedElement == null) {
    throw new LogEventException("No element at insertion offset",
                                                                 "offset=" +
                                                                 newContext.getStartOffset() +
                                                                 "\n" +
                                                                 DebugUtil.currentStackTrace(),
                                                                 createFileTextAttachment(fileCopy, originalFile),
                                                                 createAstAttachment(fileCopy, originalFile));
  }

  if (fileCopy.findElementAt(offset) != insertedElement) {
    throw new AssertionError("wrong offset");
  }

  final TextRange range = insertedElement.getTextRange();
  CharSequence fileCopyText = fileCopy.getViewProvider().getContents();
  if ((range.getEndOffset() > fileCopyText.length()) ||
      !fileCopyText.subSequence(range.getStartOffset(), range.getEndOffset()).toString().equals(insertedElement.getText())) {
    throw new LogEventException("Inconsistent completion tree", "range=" + range + "\n" + DebugUtil.currentStackTrace(),
                                       createFileTextAttachment(fileCopy, originalFile), createAstAttachment(fileCopy, originalFile),
                                       new Attachment("Element at caret.txt", insertedElement.getText()));
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:28,代码来源:CompletionAssertions.java

示例8: setCompletionPhase

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
public static void setCompletionPhase(@NotNull CompletionPhase phase) {
  ApplicationManager.getApplication().assertIsDispatchThread();
  CompletionPhase oldPhase = getCompletionPhase();
  CompletionProgressIndicator oldIndicator = oldPhase.indicator;
  if (oldIndicator != null && !(phase instanceof CompletionPhase.BgCalculation)) {
    LOG.assertTrue(!oldIndicator.isRunning() || oldIndicator.isCanceled(), "don't change phase during running completion: oldPhase=" + oldPhase);
  }

  Disposer.dispose(oldPhase);
  ourPhase = phase;
  ourPhaseTrace = DebugUtil.currentStackTrace();
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:13,代码来源:CompletionServiceImpl.java

示例9: assertCommitSuccessful

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCommitSuccessful(Editor editor, PsiFile psiFile) {
  Document document = editor.getDocument();
  int docLength = document.getTextLength();
  int psiLength = psiFile.getTextLength();
  PsiDocumentManager manager = PsiDocumentManager.getInstance(psiFile.getProject());
  boolean committed = !manager.isUncommited(document);
  if (docLength == psiLength && committed) {
    return;
  }

  String message = "unsuccessful commit:";
  message += "\nmatching=" + (psiFile == manager.getPsiFile(document));
  message += "\ninjectedEditor=" + (editor instanceof EditorWindow);
  message += "\ninjectedFile=" + InjectedLanguageManager.getInstance(psiFile.getProject()).isInjectedFragment(psiFile);
  message += "\ncommitted=" + committed;
  message += "\nfile=" + psiFile.getName();
  message += "\nfile class=" + psiFile.getClass();
  message += "\nfile.valid=" + psiFile.isValid();
  message += "\nlanguage=" + psiFile.getLanguage();
  message += "\ndoc.length=" + docLength;
  message += "\npsiFile.length=" + psiLength;
  String fileText = psiFile.getText();
  if (fileText != null) {
    message += "\npsiFile.text.length=" + fileText.length();
  }
  FileASTNode node = psiFile.getNode();
  if (node != null) {
    message += "\nnode.length=" + node.getTextLength();
    String nodeText = node.getText();
    if (nodeText != null) {
      message += "\nnode.text.length=" + nodeText.length();
    }
  }
  message += "\n" + DebugUtil.currentStackTrace();

  throw new LogEventException("Commit unsuccessful", message,
                                     new Attachment(psiFile.getViewProvider().getVirtualFile().getPath() + "_file.txt", fileText),
                                     createAstAttachment(psiFile, psiFile),
                                     new Attachment("docText.txt", document.getText()));
}
 
开发者ID:lshain-android-source,项目名称:tools-idea,代码行数:41,代码来源:CompletionAssertions.java

示例10: assertCompletionPositionPsiConsistent

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCompletionPositionPsiConsistent(CompletionContext newContext,
                                                  int offset,
                                                  PsiFile fileCopy,
                                                  PsiFile originalFile, PsiElement insertedElement) {
  if (insertedElement == null) {
    throw new LogEventException("No element at insertion offset",
                                "offset=" +
                                newContext.getStartOffset() +
                                "\n" +
                                DebugUtil.currentStackTrace(),
                                createFileTextAttachment(fileCopy, originalFile),
                                createAstAttachment(fileCopy, originalFile));
  }

  if (fileCopy.findElementAt(offset) != insertedElement) {
    throw new AssertionError("wrong offset");
  }

  final TextRange range = insertedElement.getTextRange();
  CharSequence fileCopyText = fileCopy.getViewProvider().getContents();
  if ((range.getEndOffset() > fileCopyText.length()) ||
      !fileCopyText.subSequence(range.getStartOffset(), range.getEndOffset()).toString().equals(insertedElement.getText())) {
    throw new LogEventException("Inconsistent completion tree", "range=" + range + "\n" + DebugUtil.currentStackTrace(),
                                createFileTextAttachment(fileCopy, originalFile), createAstAttachment(fileCopy, originalFile),
                                new Attachment("Element at caret.txt", insertedElement.getText()));
  }
}
 
开发者ID:consulo,项目名称:consulo,代码行数:28,代码来源:CompletionAssertions.java

示例11: setCompletionPhase

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
public static void setCompletionPhase(@Nonnull CompletionPhase phase) {
  ApplicationManager.getApplication().assertIsDispatchThread();
  CompletionPhase oldPhase = getCompletionPhase();
  CompletionProgressIndicator oldIndicator = oldPhase.indicator;
  if (oldIndicator != null && !(phase instanceof CompletionPhase.BgCalculation)) {
    LOG.assertTrue(!oldIndicator.isRunning() || oldIndicator.isCanceled(), "don't change phase during running completion: oldPhase=" + oldPhase);
  }

  Disposer.dispose(oldPhase);
  ourPhase = phase;
  ourPhaseTrace = DebugUtil.currentStackTrace();
}
 
开发者ID:consulo,项目名称:consulo,代码行数:13,代码来源:CompletionServiceImpl.java

示例12: assertCommitSuccessful

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCommitSuccessful(Editor editor, PsiFile psiFile) {
  Document document = editor.getDocument();
  int docLength = document.getTextLength();
  int psiLength = psiFile.getTextLength();
  PsiDocumentManager manager = PsiDocumentManager.getInstance(psiFile.getProject());
  boolean committed = !manager.isUncommited(document);
  if (docLength == psiLength && committed) {
    return;
  }

  FileViewProvider viewProvider = psiFile.getViewProvider();

  String message = "unsuccessful commit:";
  message += "\nmatching=" + (psiFile == manager.getPsiFile(document));
  message += "\ninjectedEditor=" + (editor instanceof EditorWindow);
  message += "\ninjectedFile=" + InjectedLanguageManager.getInstance(psiFile.getProject()).isInjectedFragment(psiFile);
  message += "\ncommitted=" + committed;
  message += "\nfile=" + psiFile.getName();
  message += "\nfile class=" + psiFile.getClass();
  message += "\nfile.valid=" + psiFile.isValid();
  message += "\nfile.physical=" + psiFile.isPhysical();
  message += "\nfile.eventSystemEnabled=" + viewProvider.isEventSystemEnabled();
  message += "\nlanguage=" + psiFile.getLanguage();
  message += "\ndoc.length=" + docLength;
  message += "\npsiFile.length=" + psiLength;
  String fileText = psiFile.getText();
  if (fileText != null) {
    message += "\npsiFile.text.length=" + fileText.length();
  }
  FileASTNode node = psiFile.getNode();
  if (node != null) {
    message += "\nnode.length=" + node.getTextLength();
    String nodeText = node.getText();
    if (nodeText != null) {
      message += "\nnode.text.length=" + nodeText.length();
    }
  }
  VirtualFile virtualFile = viewProvider.getVirtualFile();
  message += "\nvirtualFile=" + virtualFile;
  message += "\nvirtualFile.class=" + virtualFile.getClass();
  message += "\n" + DebugUtil.currentStackTrace();

  throw new LogEventException("Commit unsuccessful", message,
                                     new Attachment(virtualFile.getPath() + "_file.txt", fileText),
                                     createAstAttachment(psiFile, psiFile),
                                     new Attachment("docText.txt", document.getText()));
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:48,代码来源:CompletionAssertions.java

示例13: documentChanged

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
@Override
public void documentChanged(DocumentEvent e) {
  if (myStartDisposeTrace == null && !myLookupStartMarker.isValid()) {
    myStartDisposeTrace = e + "\n" + DebugUtil.currentStackTrace();
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:7,代码来源:LookupOffsets.java

示例14: assertCommitSuccessful

import com.intellij.psi.impl.DebugUtil; //导入方法依赖的package包/类
static void assertCommitSuccessful(Editor editor, PsiFile psiFile) {
  Document document = editor.getDocument();
  int docLength = document.getTextLength();
  int psiLength = psiFile.getTextLength();
  PsiDocumentManager manager = PsiDocumentManager.getInstance(psiFile.getProject());
  boolean committed = !manager.isUncommited(document);
  if (docLength == psiLength && committed) {
    return;
  }

  FileViewProvider viewProvider = psiFile.getViewProvider();

  String message = "unsuccessful commit:";
  message += "\nmatching=" + (psiFile == manager.getPsiFile(document));
  message += "\ninjectedEditor=" + (editor instanceof EditorWindow);
  message += "\ninjectedFile=" + InjectedLanguageManager.getInstance(psiFile.getProject()).isInjectedFragment(psiFile);
  message += "\ncommitted=" + committed;
  message += "\nfile=" + psiFile.getName();
  message += "\nfile class=" + psiFile.getClass();
  message += "\nfile.valid=" + psiFile.isValid();
  message += "\nfile.physical=" + psiFile.isPhysical();
  message += "\nfile.eventSystemEnabled=" + viewProvider.isEventSystemEnabled();
  message += "\nlanguage=" + psiFile.getLanguage();
  message += "\ndoc.length=" + docLength;
  message += "\npsiFile.length=" + psiLength;
  String fileText = psiFile.getText();
  if (fileText != null) {
    message += "\npsiFile.text.length=" + fileText.length();
  }
  FileASTNode node = psiFile.getNode();
  if (node != null) {
    message += "\nnode.length=" + node.getTextLength();
    String nodeText = node.getText();
    if (nodeText != null) {
      message += "\nnode.text.length=" + nodeText.length();
    }
  }
  VirtualFile virtualFile = viewProvider.getVirtualFile();
  message += "\nvirtualFile=" + virtualFile;
  message += "\nvirtualFile.class=" + virtualFile.getClass();
  message += "\n" + DebugUtil.currentStackTrace();

  throw new LogEventException("Commit unsuccessful", message,
                              new Attachment(virtualFile.getPath() + "_file.txt", fileText),
                              createAstAttachment(psiFile, psiFile),
                              new Attachment("docText.txt", document.getText()));
}
 
开发者ID:consulo,项目名称:consulo,代码行数:48,代码来源:CompletionAssertions.java


注:本文中的com.intellij.psi.impl.DebugUtil.currentStackTrace方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。