test_class.file: web/api/src/test/java/leap/web/api/query/JoinParserTest.java
test_class.identifier: JoinParserTest
test_class.superclass: extends TestBase
test_case.body: @Test
      public void testErrorWithoutAlias() {
          try{
              JoinParser.parse("a");
              fail("Should thrown exception");
          }catch (Exception e) {
  
          }
      }
test_case.class_method_signature: JoinParserTest.testErrorWithoutAlias()
test_case.full_signature: @Test public void testErrorWithoutAlias()
test_case.identifier: testErrorWithoutAlias
test_case.invocations: parse fail
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testErrorWithoutAlias()
focal_class.declarator: joins = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Join> joins = new ArrayList<>();
focal_class.type: List<Join>
focal_class.var_name: joins
focal_class.file: web/api/src/main/java/leap/web/api/query/JoinParser.java
focal_class.identifier: JoinParser
focal_class.class_method_signature: JoinParser.parse(String expr)
focal_class.full_signature: public static Join[] parse(String expr)
focal_class.identifier: parse
focal_class.modifiers: public static
focal_class.parameters: (String expr)
focal_class.return: Join[]
focal_class.signature: Join[] parse(String expr)
focal_class.class_method_signature: JoinParser.JoinParser(String expr)
focal_class.full_signature: public  JoinParser(String expr)
focal_class.identifier: JoinParser
focal_class.modifiers: public
focal_class.parameters: (String expr)
focal_class.signature:  JoinParser(String expr)
focal_class.class_method_signature: JoinParser.joins()
focal_class.full_signature: public Join[] joins()
focal_class.identifier: joins
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Join[]
focal_class.signature: Join[] joins()
focal_class.class_method_signature: JoinParser.scanIdentifier()
focal_class.full_signature: private String scanIdentifier()
focal_class.identifier: scanIdentifier
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String scanIdentifier()
focal_class.superclass: extends ParserBase
focal_method.body: public static Join[] parse(String expr) {
          return new JoinParser(expr).joins();
      }
focal_method.class_method_signature: JoinParser.parse(String expr)
focal_method.full_signature: public static Join[] parse(String expr)
focal_method.identifier: parse
focal_method.invocations: joins
focal_method.modifiers: public static
focal_method.parameters: (String expr)
focal_method.return: Join[]
focal_method.signature: Join[] parse(String expr)