chiffon.js
function() {
      switch (this.type) {
        case _Numeric:
        case _String:
        case _RegularExpression:
        case _Boolean:
        case _Null:
          return this.parseLiteral();
        case _Identifier:
          return this.parseIdentifier();
        case _Keyword:
          return this.parsePrimaryKeywordExpression();
        case _Punctuator:
          return this.parsePrimaryPunctuatorExpression();
        case _Template:
          return this.parseTemplateLiteral();
        default:
          this.unexpected();
      }
    }
function() {
      switch (this.type) {
        case _Numeric:
        case _String:
        case _RegularExpression:
        case _Boolean:
        case _Null:
          return this.parseLiteral();
        case _Identifier:
          return this.parseIdentifier();
        case _Keyword:
          return this.parsePrimaryKeywordExpression();
        case _Punctuator:
          return this.parsePrimaryPunctuatorExpression();
        case _Template:
          return this.parseTemplateLiteral();
        default:
          this.unexpected();
      }
    }
function ( ) { switch ( this . type ) { case _Numeric : case _String : case _RegularExpression : case _Boolean : case _Null : return this . parseLiteral ( ) ; case _Identifier : return this . parseIdentifier ( ) ; case _Keyword : return this . parsePrimaryKeywordExpression ( ) ; case _Punctuator : return this . parsePrimaryPunctuatorExpression ( ) ; case _Template : return this . parseTemplateLiteral ( ) ; default : this . unexpected ( ) ; } }
ECMA-262 12.2 Primary Expression
ECMA - 262 12 . 2 Primary Expression