Block
  DirectivePrologue
    Directive : use strict
    Directive : use cajita
  FunctionDeclaration
    Identifier : strictFn1
    FunctionConstructor
      Identifier : strictFn1
      Block
        DirectivePrologue
          Directive : use strict
        ReturnStmt
  FunctionDeclaration
    Identifier : strictFn2
    FunctionConstructor
      Identifier : strictFn2
      Block
        DirectivePrologue
          Directive : use strict
          Directive : use cajita
        ReturnStmt
  FunctionDeclaration
    Identifier : strictFn3
    FunctionConstructor
      Identifier : strictFn3
      Block
        DirectivePrologue
          Directive : use strict
          Directive : use cajita
        ReturnStmt
  FunctionDeclaration
    Identifier : strictFn4
    FunctionConstructor
      Identifier : strictFn4
      Block
        DirectivePrologue
          Directive : use strict
          Directive : use cajita
        ReturnStmt
  FunctionDeclaration
    Identifier : strictFn5
    FunctionConstructor
      Identifier : strictFn5
      Block
        DirectivePrologue
          Directive : use strict
          Directive : use cajita
        ReturnStmt
  FunctionDeclaration
    Identifier : strictFn6
    FunctionConstructor
      Identifier : strictFn6
      Block
        DirectivePrologue
          Directive : use strict
          Directive : use cajita
  FunctionDeclaration
    Identifier : notStrictFn1
    FunctionConstructor
      Identifier : notStrictFn1
      Block
        ExpressionStmt
          StringLiteral : "use strict"
        ReturnStmt
  FunctionDeclaration
    Identifier : notStrictFn2
    FunctionConstructor
      Identifier : notStrictFn2
      Block
        ExpressionStmt
          SimpleOperation : ADDITION
            StringLiteral : "use strict"
            StringLiteral : "foo"
        ReturnStmt
  FunctionDeclaration
    Identifier : arbitraryBlocksCannotBeStrict
    FunctionConstructor
      Identifier : arbitraryBlocksCannotBeStrict
      Block
        Block
          ExpressionStmt
            StringLiteral : "use strict"
          ExpressionStmt
            StringLiteral : "use cajita"
  FunctionDeclaration
    Identifier : malformedOkayWithWarning
    FunctionConstructor
      Identifier : malformedOkayWithWarning
      Block
        DirectivePrologue
          Directive : bogusburps
