TranslationUnit[1:0->12:0]
  StructOrClassDeclaration[1:7->7:0]
  MyStruct
    VariableDeclaration[3:4->4:4]
      NamedType[3:4->3:8]
        int
      x
    VariableDeclaration[4:4->5:0]
      Pointer[4:4->4:14]
        NamedType[4:4->4:12]
          s
      next
  FunctionDeclaration[7:0->12:0]
    NamedType[7:0->7:4]
      int
    foo
    (
    )
    FunctionDefinition[8:0->12:0]
    {
      VariableDeclaration[9:4->9:14]
        NamedType[9:4->9:13]
          MyStruct
        s
      FunctionCall[10:4->10:23]
        Name[10:4->10:10]
        printf
        StringLiteral[10:11->10:16]
          "%d\n"
        MemberExpression[10:19->10:22]
          Name[10:19->10:20]
          s
          Identifier[10:21->10:21]
          x
      ReturnStatement[11:4->11:14]
        MemberExpression[11:11->11:14]
          Name[11:11->11:12]
          s
          Identifier[11:13->11:13]
          x
    }
