code: Expr sharedMethod() {
  		Tok tok = peek();
  		if (tok.sym != Sym.ID) {
  			return indexMethodField(null);
  		}
  		if (move().sym != Sym.LPAREN) {
  			resetForward(forward - 1);
  			return indexMethodField(null);
  		}
  		
  		move();
  		if (peek().sym == Sym.RPAREN) {
  			SharedMethod sharedMethod = new SharedMethod(engineConfig.getSharedMethodKit(), tok.value(), ExprList.NULL_EXPR_LIST, location);
  			move();
  			return indexMethodField(sharedMethod);
  		}
  		
  		ExprList exprList = exprList();
  		SharedMethod sharedMethod = new SharedMethod(engineConfig.getSharedMethodKit(), tok.value(), exprList, location);
  		match(Sym.RPAREN);
  		return indexMethodField(sharedMethod);
  	}
docs: sharedMethod : ID '(' exprList? ')'