@Override public boolean isOperator() { CSharpMethodDeclStub stub = getStub(); if (stub != null) { return stub.getOperator() != null; } return findChildByType(CSharpTokens.OPERATOR_KEYWORD) != null; }
@Override public boolean isDelegate() { CSharpMethodDeclStub stub = getStub(); if (stub != null) { return BitUtil.isSet(stub.getOtherModifierMask(), CSharpMethodDeclStub.DELEGATE_MASK); } return findChildByType(CSharpTokens.DELEGATE_KEYWORD) != null; }
@Nullable @Override public IElementType getOperatorElementType() { CSharpMethodDeclStub stub = getStub(); if (stub != null) { return stub.getOperator(); } PsiElement childByType = findChildByType(CSharpTokenSets.OVERLOADING_OPERATORS); return childByType == null ? null : CSharpOperatorNameHelper.mergeTwiceOperatorIfNeed(childByType); }