public interface IDiagnosticsVisitor
ABCEmitter
to notify clients of issues
it encountered that will most likely cause the abc created by the
ABCEmitter
to fail verification in the VM.
Clients should not directly implement this method unless absolutely
necessary, instead the should sub-class AbstractDiagnosticVisitor
.
Methods may be added to this interface in future versions of the AET.
Modifier and Type | Method and Description |
---|---|
void |
incorrectNumberOfParameterNames(MethodInfo methodInfo)
A
MethodInfo has a different number of parameter names than
parameter types. |
void |
nativeMethodWithMethodBody(MethodInfo methodInfo,
MethodBodyInfo methodBodyInfo)
A
MethodInfo for a native method also has an associated
MethodBodyInfo . |
void |
operandStackUnderflow(MethodBodyInfo methodBodyInfo,
IFlowgraph cfg,
IBasicBlock block,
int instructionIndex)
An underflow of operand stack was detected in a basic block in a method.
|
void |
scopeStackUnderflow(MethodBodyInfo methodBodyInfo,
IFlowgraph cfg,
IBasicBlock block,
int instructionIndex)
An underflow of scope stack was detected in a basic block in a method.
|
void |
scriptInitWithRequiredArguments(ScriptInfo scriptInfo,
MethodInfo methodInfo)
A
MethodInfo for the init method of a ScriptInfo has
required arguments. |
void |
tooManyDefaultParameters(MethodInfo methodInfo)
A
MethodInfo has too many default parameters. |
void |
unreachableBlock(MethodBodyInfo methodBodyInfo,
IFlowgraph cfg,
IBasicBlock block)
A basic block in a method has been found to be unreachable.
|
void operandStackUnderflow(MethodBodyInfo methodBodyInfo, IFlowgraph cfg, IBasicBlock block, int instructionIndex)
methodBodyInfo
- MethodBodyInfo
for the method body with the
stack underflow.cfg
- IFlowgraph
for the method body with the stack
underflow.block
- IBasicBlock
in the IFlowgraph
that contains
the stack underflow.instructionIndex
- The index of the instruction in the IBasicBlock
that contains the stack underflow.void scopeStackUnderflow(MethodBodyInfo methodBodyInfo, IFlowgraph cfg, IBasicBlock block, int instructionIndex)
methodBodyInfo
- MethodBodyInfo
for the method body with the
stack underflow.cfg
- IFlowgraph
for the method body with the stack
underflow.block
- IBasicBlock
in the IFlowgraph
that contains
the stack underflow.instructionIndex
- The index of the instruction in the IBasicBlock
that contains the stack underflow.void unreachableBlock(MethodBodyInfo methodBodyInfo, IFlowgraph cfg, IBasicBlock block)
methodBodyInfo
- MethodBodyInfo
for the method body
with the unreachable block.cfg
- IFlowgraph
for the method body with the
unreachable block.block
- IBasicBlock
in the IFlowgraph
that contains the unreachable block.void tooManyDefaultParameters(MethodInfo methodInfo)
MethodInfo
has too many default parameters.methodInfo
- The MethodInfo
that has too many default
parameters.void incorrectNumberOfParameterNames(MethodInfo methodInfo)
MethodInfo
has a different number of parameter names than
parameter types.methodInfo
- The MethodInfo
that has the incorrect number of
parameter names.void nativeMethodWithMethodBody(MethodInfo methodInfo, MethodBodyInfo methodBodyInfo)
MethodInfo
for a native method also has an associated
MethodBodyInfo
.methodInfo
- The MethodInfo
that is marked as a native
method.methodBodyInfo
- The MethodBodyInfo
associated with the
native method.void scriptInitWithRequiredArguments(ScriptInfo scriptInfo, MethodInfo methodInfo)
MethodInfo
for the init method of a ScriptInfo
has
required arguments.scriptInfo
- The ScriptInfo
whose init method has required
arguments.methodInfo
- The MethodInfo
for the init method of the
specified ScriptInfo
.Copyright © 2016 The Apache Software Foundation. All rights reserved.