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


Java DotNetStackFrameProxy类代码示例

本文整理汇总了Java中consulo.dotnet.debugger.proxy.DotNetStackFrameProxy的典型用法代码示例。如果您正苦于以下问题:Java DotNetStackFrameProxy类的具体用法?Java DotNetStackFrameProxy怎么用?Java DotNetStackFrameProxy使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


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

示例1: tryEvaluateBreakpointCondition

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public boolean tryEvaluateBreakpointCondition(@NotNull DotNetThreadProxy threadProxy, final XLineBreakpoint<?> breakpoint, final DotNetDebugContext debugContext) throws Exception
{
	final XExpression conditionExpression = breakpoint.getConditionExpression();
	if(conditionExpression == null)
	{
		return true;
	}

	DotNetStackFrameProxy frame = threadProxy.getFrame(0);
	if(frame == null)
	{
		return true;
	}

	XValue value = evaluateBreakpointExpression(frame, breakpoint, conditionExpression, debugContext);
	if(value instanceof DotNetAbstractVariableValueNode)
	{
		DotNetValueProxy valueOfVariableSafe = ((DotNetAbstractVariableValueNode) value).getValueOfVariable();
		if(valueOfVariableSafe instanceof DotNetBooleanValueProxy)
		{
			return ((DotNetBooleanValueProxy) valueOfVariableSafe).getValue();
		}
	}
	return true;
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:26,代码来源:DotNetBreakpointEngine.java

示例2: IEnumeratorAsIterator

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public IEnumeratorAsIterator(DotNetStackFrameProxy frameProxy, DotNetValueProxy value) throws CantCreateException
{
	myFrameProxy = frameProxy;
	myValue = value;

	DotNetTypeProxy typeMirror = myValue.getType();

	myMoveNextMethod = DotNetDebuggerSearchUtil.findMethod("MoveNext", typeMirror);
	if(myMoveNextMethod == null)
	{
		throw new CantCreateException();
	}

	myCurrent = DotNetDebuggerSearchUtil.findGetterForProperty("Current", typeMirror);
	if(myCurrent == null)
	{
		throw new CantCreateException();
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:20,代码来源:IEnumeratorAsIterator.java

示例3: calcTopFrame

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
private XStackFrame calcTopFrame()
{
	try
	{
		DotNetVirtualMachineUtil.checkCallForUIThread();

		List<DotNetStackFrameProxy> frames = myThreadProxy.getFrames();
		DotNetStackFrameProxy frame = ArrayUtil2.safeGet(frames, 0);
		if(frame == null)
		{
			return null;
		}
		return myTopFrame = new DotNetStackFrame(myDebuggerContext, frame);
	}
	catch(DotNetNotSuspendedException ignored)
	{
		return null;
	}
	finally
	{
		myTopFrameCalculated = true;
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:25,代码来源:DotNetExecutionStack.java

示例4: toStringValue

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
public static String toStringValue(@NotNull DotNetStackFrameProxy threadProxy, @NotNull DotNetValueProxy valueProxy)
{
	try
	{
		DotNetTypeProxy type = valueProxy.getType();
		if(type == null)
		{
			return null;
		}
		DotNetMethodProxy toString = type.findMethodByName("ToString", true);
		DotNetValueProxy invoke = null;
		assert toString != null;
		invoke = toString.invoke(threadProxy, valueProxy);
		if(!(invoke instanceof DotNetStringValueProxy))
		{
			return null;
		}
		return (String) invoke.getValue();
	}
	catch(DotNetThrowValueException | DotNetNotSuspendedException ignored)
	{
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:26,代码来源:DotNetDebuggerSearchUtil.java

示例5: invoke

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetValueProxy invoke(@NotNull DotNetStackFrameProxy frameProxy, @Nullable DotNetValueProxy thisObjectProxy, @NotNull DotNetValueProxy... arguments) throws DotNetThrowValueException
{
	StackFrameMirror frameMirror = ((MicrosoftStackFrameProxy) frameProxy).getFrameMirror();
	Value<?> thisObject = thisObjectProxy == null ? null : ((MicrosoftValueProxyBase) thisObjectProxy).getMirror();

	Value[] values = new Value[arguments.length];
	for(int i = 0; i < arguments.length; i++)
	{
		DotNetValueProxy argument = arguments[i];
		values[i] = ((MicrosoftValueProxyBase) argument).getMirror();
	}
	try
	{
		return MicrosoftValueProxyUtil.wrap(myMethodMirror.invoke(frameMirror, thisObject, values));
	}
	catch(ThrowValueException e)
	{
		throw new IllegalArgumentException(e); //TODO [VISTALL] throw new DotNetThrowValueException(MonoValueProxyUtil.wrap(e.getThrowExceptionValue()));
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:23,代码来源:MicrosoftMethodProxy.java

示例6: getFrames

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@NotNull
@Override
public List<DotNetStackFrameProxy> getFrames() throws DotNetNotSuspendedException
{
	try
	{
		List<StackFrameMirror> frames = myThreadMirror.frames();
		List<DotNetStackFrameProxy> proxies = new ArrayList<DotNetStackFrameProxy>(frames.size());
		for(int i = 0; i < frames.size(); i++)
		{
			StackFrameMirror frameMirror = frames.get(i);
			proxies.add(new MicrosoftStackFrameProxy(i, myVirtualMachineProxy, frameMirror));
		}
		return proxies;
	}
	catch(NotSuspendedException e)
	{
		throw new DotNetNotSuspendedException(e);
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:21,代码来源:MicrosoftThreadProxy.java

示例7: getFrame

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetStackFrameProxy getFrame(int index) throws DotNetNotSuspendedException
{
	try
	{
		List<StackFrameMirror> frames = myThreadMirror.frames();

		StackFrameMirror frameMirror = ArrayUtil2.safeGet(frames, index);
		if(frameMirror != null)
		{
			return new MicrosoftStackFrameProxy(index, myVirtualMachineProxy, frameMirror);
		}
		return null;
	}
	catch(NotSuspendedException e)
	{
		throw new DotNetNotSuspendedException(e);
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:21,代码来源:MicrosoftThreadProxy.java

示例8: getFrames

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@NotNull
@Override
public List<DotNetStackFrameProxy> getFrames() throws DotNetNotSuspendedException
{
	try
	{
		List<StackFrameMirror> frames = myThreadMirror.frames();
		List<DotNetStackFrameProxy> proxies = new ArrayList<>(frames.size());
		for(int i = 0; i < frames.size(); i++)
		{
			StackFrameMirror frameMirror = frames.get(i);
			proxies.add(new MonoStackFrameProxy(i, myVirtualMachineProxy, frameMirror));
		}
		return proxies;
	}
	catch(NotSuspendedException e)
	{
		throw new DotNetNotSuspendedException(e);
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:21,代码来源:MonoThreadProxy.java

示例9: getFrame

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
@Override
public DotNetStackFrameProxy getFrame(int index) throws DotNetNotSuspendedException
{
	try
	{
		List<StackFrameMirror> frames = myThreadMirror.frames();

		StackFrameMirror frameMirror = ArrayUtil2.safeGet(frames, index);
		if(frameMirror != null)
		{
			return new MonoStackFrameProxy(index, myVirtualMachineProxy, frameMirror);
		}
		return null;
	}
	catch(NotSuspendedException e)
	{
		throw new DotNetNotSuspendedException(e);
	}
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:21,代码来源:MonoThreadProxy.java

示例10: getEnumConstantValue

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
@Nullable
public ULong getEnumConstantValue(@NotNull DotNetStackFrameProxy stackFrameProxy)
{
	DotNetValueProxy fieldValue = getValue(stackFrameProxy, null);
	if(fieldValue instanceof DotNetEnumValueProxy)
	{
		Object enumValue = fieldValue.getValue();
		if(enumValue instanceof DotNetNumberValueProxy)
		{
			Number actualValue = ((DotNetNumberValueProxy) enumValue).getValue();

			return ULong.valueOf(actualValue.longValue());
		}
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:18,代码来源:MonoFieldProxy.java

示例11: evaluate

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
public void evaluate(@NotNull DotNetStackFrameProxy stackFrameMirror,
		@NotNull DotNetDebugContext context,
		@NotNull String s,
		@Nullable PsiElement element,
		@NotNull XDebuggerEvaluator.XEvaluationCallback callback,
		@Nullable XSourcePosition sourcePosition)
{
	callback.errorOccurred("UnityScript evaluation is not supported");
}
 
开发者ID:consulo,项目名称:consulo-unity3d,代码行数:11,代码来源:UnityScriptDebuggerProvider.java

示例12: tryEvaluateFromStackFrame

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
protected boolean tryEvaluateFromStackFrame(@NotNull CSharpEvaluateContext context, DotNetStackFrameProxy frame, DotNetMethodProxy method)
{
	DotNetMethodParameterProxy methodParameterMirror = method.getParameters()[myIndex];

	DotNetValueProxy value = context.getFrame().getParameterValue(methodParameterMirror);
	if(value != null)
	{
		context.pull(value, methodParameterMirror);
		return true;
	}
	return false;
}
 
开发者ID:consulo,项目名称:consulo-csharp,代码行数:14,代码来源:ParameterEvaluator.java

示例13: evaluate

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Override
public void evaluate(@NotNull CSharpEvaluateContext context) throws DotNetInvalidObjectException, DotNetInvalidStackFrameException, DotNetAbsentInformationException
{
	DotNetStackFrameProxy frame = context.getFrame();

	context.pull(calcThisObject(frame, frame.getThisObject()), null);
}
 
开发者ID:consulo,项目名称:consulo-csharp,代码行数:8,代码来源:ThisObjectEvaluator.java

示例14: tryEvaluateBreakpointLogMessage

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
@Nullable
public String tryEvaluateBreakpointLogMessage(@NotNull DotNetThreadProxy threadProxy, final XLineBreakpoint<?> breakpoint, final DotNetDebugContext debugContext) throws
		DotNetNotSuspendedException
{
	XExpression logExpressionObject = breakpoint.getLogExpressionObject();
	if(logExpressionObject == null)
	{
		return null;
	}

	XDebugSession session = debugContext.getSession();
	ConsoleView consoleView = session.getConsoleView();
	if(consoleView == null)
	{
		return null;
	}

	final DotNetStackFrameProxy frame = threadProxy.getFrame(0);
	if(frame == null)
	{
		return null;
	}

	XValue value = evaluateBreakpointExpression(frame, breakpoint, logExpressionObject, debugContext);
	if(value instanceof DotNetAbstractVariableValueNode)
	{
		DotNetValueProxy valueOfVariableSafe = ((DotNetAbstractVariableValueNode) value).getValueOfVariable();
		if(valueOfVariableSafe != null)
		{
			String toStringValue = DotNetDebuggerSearchUtil.toStringValue(frame, valueOfVariableSafe);
			if(toStringValue != null)
			{
				return toStringValue;
			}
		}
	}
	return null;
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:39,代码来源:DotNetBreakpointEngine.java

示例15: DotNetArrayValueNode

import consulo.dotnet.debugger.proxy.DotNetStackFrameProxy; //导入依赖的package包/类
public DotNetArrayValueNode(@NotNull DotNetDebugContext debuggerContext, @NotNull String name, @NotNull DotNetStackFrameProxy frameProxy, @NotNull DotNetArrayValueProxy valueMirrorNode,
		int index)
{
	super(debuggerContext, name, frameProxy);
	myArrayValueMirror = valueMirrorNode;
	myIndex = index;
	myValue = valueMirrorNode.get(index);
}
 
开发者ID:consulo,项目名称:consulo-dotnet,代码行数:9,代码来源:DotNetArrayValueNode.java


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