📄 methoddeclaratornode.java
字号:
class MethodDeclaratorNode extends ExecutableNode
{
ResultTypeNode vResultTypeNode;
IdentifierNode vIdentifierNode;
FormalParametersNode vFormalParametersNode;
static MethodDeclaratorNode parserMethodDeclarator(Environment env,Scanner s) throws ParserException, ScannerException
{
ResultTypeNode tmpResultTypeNode;
IdentifierNode tmpIdentifierNode;
FormalParametersNode tmpFormalParametersNode;
tmpResultTypeNode= ResultTypeNode.parserResultType(env,s);
tmpIdentifierNode= IdentifierNode.parserIndentifier(env,s);
tmpFormalParametersNode= FormalParametersNode.parserFormalParameters(env,s);
return new MethodDeclaratorNode(tmpResultTypeNode,tmpIdentifierNode,tmpFormalParametersNode);
}
String mGetMethodName()
{
return vIdentifierNode.vName;
}
MethodDeclaratorNode()
{
vResultTypeNode= null;
vFormalParametersNode= null;
}
MethodDeclaratorNode(ResultTypeNode aResultTypeNode,IdentifierNode aIdentifierNode,FormalParametersNode aFormalParametersNode)
{
vResultTypeNode= aResultTypeNode;
vIdentifierNode= aIdentifierNode;
vFormalParametersNode= aFormalParametersNode;
}
String format(int indent)
{
String str= vResultTypeNode.format(indent) + " " + vIdentifierNode.format(indent);
if(vFormalParametersNode!=null)
str+= vFormalParametersNode.format(indent);
else str+="()";
return str;
}
Environment run(Environment env) throws InterpreterException
{
return env;
}
boolean typeCheck(Environment env) throws InterpreterException
{
if(PrimitiveSelectorNode.mIsPrimitiveSelector(mGetMethodName()))
ProgramNode.mTypeCheckError("Method Name: " + mGetMethodName() + " is invalid.");
return vFormalParametersNode.typeCheck(env);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -