constructor()

in src/language/semantics/xpLexer.ts [1645:1706]


  constructor(value: string, type: CharLevelState) {
    this.value = value
    this.charType = type
    switch (type) {
      case CharLevelState.lWs:
        this.tokenType = TokenLevelState.Whitespace
        break
      case CharLevelState.lName:
        this.tokenType = TokenLevelState.nodeNameTest
        break
      case CharLevelState.dSep:
        this.tokenType =
          value === ':='
            ? TokenLevelState.complexExpression
            : TokenLevelState.operator
        break
      case CharLevelState.dot:
        this.tokenType = TokenLevelState.nodeType
        break
      case CharLevelState.sep:
      case CharLevelState.lB:
      case CharLevelState.lBr:
      case CharLevelState.lPr:
      case CharLevelState.rB:
      case CharLevelState.rBr:
      case CharLevelState.rPr:
        this.tokenType = TokenLevelState.operator
        break
      case CharLevelState.lAttr:
        this.tokenType = TokenLevelState.attributeNameTest
        break
      case CharLevelState.lNl:
        this.tokenType = TokenLevelState.number
        break
      case CharLevelState.lVar:
        this.tokenType = TokenLevelState.variable
        break
      case CharLevelState.lSq:
      case CharLevelState.lDq:
      case CharLevelState.lSqEnt:
      case CharLevelState.lDqEnt:
      case CharLevelState.rDqEnt:
      case CharLevelState.rSqEnt:
      case CharLevelState.rLiteralSqEnt:
      case CharLevelState.rLiteralDqEnt:
        this.tokenType = TokenLevelState.string
        break
      case CharLevelState.lUri:
        this.tokenType = TokenLevelState.uriLiteral
        break
      case CharLevelState.lC:
        this.tokenType = TokenLevelState.comment
        break
      case CharLevelState.lLiteralSqEnt:
      case CharLevelState.lLiteralDqEnt:
        this.tokenType = TokenLevelState.entityRef
        break
      default:
        this.tokenType = TokenLevelState.Unset
        break
    }
  }