test_class.file: BiliLiveLib/src/test/java/charlie/bililivelib/user/SignProtocolTest.java
test_class.identifier: SignProtocolTest
test_case.body: @Test
      public void signIn() throws Exception {
          SignProtocol signProtocol = new SignProtocol(TestSessionHelper.initSession());
          SignProtocol.SignInfo signInfo = signProtocol.getCurrentSignInfo();
          if (signInfo.isSignedIn()) fail();
  
          System.out.println(signProtocol.signIn());
      }
test_case.class_method_signature: SignProtocolTest.signIn()
test_case.full_signature: @Test public void signIn()
test_case.identifier: signIn
test_case.invocations: initSession getCurrentSignInfo isSignedIn fail println signIn
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void signIn()
focal_class.declarator: EXCEPTION_SIGN = "exception.sign"
focal_class.modifier: private static final
focal_class.original_string: private static final String EXCEPTION_SIGN = "exception.sign";
focal_class.type: String
focal_class.var_name: EXCEPTION_SIGN
focal_class.declarator: SIGN_INFO_G = "/sign/GetSignInfo"
focal_class.modifier: private static final
focal_class.original_string: private static final String SIGN_INFO_G = "/sign/GetSignInfo";
focal_class.type: String
focal_class.var_name: SIGN_INFO_G
focal_class.declarator: DO_SIGN_IN_G = "/sign/doSign"
focal_class.modifier: private static final
focal_class.original_string: private static final String DO_SIGN_IN_G = "/sign/doSign";
focal_class.type: String
focal_class.var_name: DO_SIGN_IN_G
focal_class.declarator: STATUS_NOT_LOGGED_IN = -105
focal_class.modifier: private static final
focal_class.original_string: private static final int STATUS_NOT_LOGGED_IN = -105;
focal_class.type: int
focal_class.var_name: STATUS_NOT_LOGGED_IN
focal_class.declarator: httpHelper
focal_class.modifier: private
focal_class.original_string: private HttpHelper httpHelper;
focal_class.type: HttpHelper
focal_class.var_name: httpHelper
focal_class.file: BiliLiveLib/src/main/java/charlie/bililivelib/user/SignProtocol.java
focal_class.identifier: SignProtocol
focal_class.class_method_signature: SignProtocol.SignProtocol(@NotNull Session session)
focal_class.full_signature: public  SignProtocol(@NotNull Session session)
focal_class.identifier: SignProtocol
focal_class.modifiers: public
focal_class.parameters: (@NotNull Session session)
focal_class.signature:  SignProtocol(@NotNull Session session)
focal_class.class_method_signature: SignProtocol.signIn()
focal_class.full_signature: public DoSignInfo signIn()
focal_class.identifier: signIn
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: DoSignInfo
focal_class.signature: DoSignInfo signIn()
focal_class.class_method_signature: SignProtocol.getCurrentSignInfo()
focal_class.full_signature: public SignInfo getCurrentSignInfo()
focal_class.identifier: getCurrentSignInfo
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: SignInfo
focal_class.signature: SignInfo getCurrentSignInfo()
focal_method.body: public DoSignInfo signIn() throws BiliLiveException {
          DoSignInfo doSignInfo = httpHelper.getBiliLiveJSON(DO_SIGN_IN_G, DoSignInfo.class, EXCEPTION_SIGN);
          if (doSignInfo.getCode() == -101) throw new NotLoggedInException();
          return doSignInfo;
      }
focal_method.class_method_signature: SignProtocol.signIn()
focal_method.full_signature: public DoSignInfo signIn()
focal_method.identifier: signIn
focal_method.invocations: getBiliLiveJSON getCode
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: DoSignInfo
focal_method.signature: DoSignInfo signIn()