Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Source file token_helpers_js.ml
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207(* Yoann Padioleau
*
* Copyright (C) 2010 Facebook
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* version 2.1 as published by the Free Software Foundation, with the
* special exception on linking described in file license.txt.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the file
* license.txt for more details.
*)openParser_jsmodulePI=Parse_info(*****************************************************************************)(* Token Helpers *)(*****************************************************************************)letis_eof=function|EOF_->true|_->falseletis_comment=function|TComment_|TCommentSpace_|TCommentNewline_->true|_->falselettoken_kind_of_tokt=matchtwith|T_LCURLY_|T_DOLLARCURLY_->PI.LBrace|T_RCURLY_->PI.RBrace|T_LPAREN_->PI.LPar|T_RPAREN_->PI.RPar|T_LBRACKET_->PI.LBracket|T_RBRACKET_->PI.RBracket(* note: if at some point you want to add < > do not forget to also
* handle T_XHP_OPEN_TAG
*)|TComment_->PI.EsthetPI.Comment|TCommentSpace_->PI.EsthetPI.Space|TCommentNewline_->PI.EsthetPI.Newline|_->PI.Other(*****************************************************************************)(* Visitors *)(*****************************************************************************)(* generated via an Emacs macro from the type definition in parser_js.mli *)letvisitor_info_of_tokf=function|TUnknownii->TUnknown(fii)|TCommentSpaceii->TCommentSpace(fii)|TCommentNewlineii->TCommentNewline(fii)|TCommentii->TComment(fii)|EOFii->EOF(fii)|T_NUMBER(s,ii)->T_NUMBER(s,(fii))|T_IDENTIFIER(s,ii)->T_IDENTIFIER(s,fii)|T_STRING(s,ii)->T_STRING(s,(fii))|T_REGEX(s,ii)->T_REGEX(s,(fii))|T_FUNCTIONii->T_FUNCTION(fii)|T_IFii->T_IF(fii)|T_INii->T_IN(fii)|T_INSTANCEOFii->T_INSTANCEOF(fii)|T_RETURNii->T_RETURN(fii)|T_SWITCHii->T_SWITCH(fii)|T_THISii->T_THIS(fii)|T_THROWii->T_THROW(fii)|T_TRYii->T_TRY(fii)|T_VARii->T_VAR(fii)|T_WHILEii->T_WHILE(fii)|T_WITHii->T_WITH(fii)|T_CONSTii->T_CONST(fii)|T_NULLii->T_NULL(fii)|T_FALSEii->T_FALSE(fii)|T_TRUEii->T_TRUE(fii)|T_BREAKii->T_BREAK(fii)|T_CASEii->T_CASE(fii)|T_CATCHii->T_CATCH(fii)|T_CONTINUEii->T_CONTINUE(fii)|T_DEFAULTii->T_DEFAULT(fii)|T_DOii->T_DO(fii)|T_FINALLYii->T_FINALLY(fii)|T_FORii->T_FOR(fii)|T_ELSEii->T_ELSE(fii)|T_NEWii->T_NEW(fii)|T_LCURLYii->T_LCURLY(fii)|T_RCURLYii->T_RCURLY(fii)|T_LPARENii->T_LPAREN(fii)|T_LPAREN_ARROWii->T_LPAREN_ARROW(fii)|T_RPARENii->T_RPAREN(fii)|T_LBRACKETii->T_LBRACKET(fii)|T_RBRACKETii->T_RBRACKET(fii)|T_SEMICOLONii->T_SEMICOLON(fii)|T_COMMAii->T_COMMA(fii)|T_PERIODii->T_PERIOD(fii)|T_RSHIFT3_ASSIGNii->T_RSHIFT3_ASSIGN(fii)|T_RSHIFT_ASSIGNii->T_RSHIFT_ASSIGN(fii)|T_LSHIFT_ASSIGNii->T_LSHIFT_ASSIGN(fii)|T_BIT_XOR_ASSIGNii->T_BIT_XOR_ASSIGN(fii)|T_BIT_OR_ASSIGNii->T_BIT_OR_ASSIGN(fii)|T_BIT_AND_ASSIGNii->T_BIT_AND_ASSIGN(fii)|T_MOD_ASSIGNii->T_MOD_ASSIGN(fii)|T_DIV_ASSIGNii->T_DIV_ASSIGN(fii)|T_MULT_ASSIGNii->T_MULT_ASSIGN(fii)|T_MINUS_ASSIGNii->T_MINUS_ASSIGN(fii)|T_PLUS_ASSIGNii->T_PLUS_ASSIGN(fii)|T_ASSIGNii->T_ASSIGN(fii)|T_PLINGii->T_PLING(fii)|T_COLONii->T_COLON(fii)|T_ORii->T_OR(fii)|T_ANDii->T_AND(fii)|T_BIT_ORii->T_BIT_OR(fii)|T_BIT_XORii->T_BIT_XOR(fii)|T_BIT_ANDii->T_BIT_AND(fii)|T_EQUALii->T_EQUAL(fii)|T_NOT_EQUALii->T_NOT_EQUAL(fii)|T_STRICT_EQUALii->T_STRICT_EQUAL(fii)|T_STRICT_NOT_EQUALii->T_STRICT_NOT_EQUAL(fii)|T_LESS_THAN_EQUALii->T_LESS_THAN_EQUAL(fii)|T_GREATER_THAN_EQUALii->T_GREATER_THAN_EQUAL(fii)|T_LESS_THANii->T_LESS_THAN(fii)|T_GREATER_THANii->T_GREATER_THAN(fii)|T_LSHIFTii->T_LSHIFT(fii)|T_RSHIFTii->T_RSHIFT(fii)|T_RSHIFT3ii->T_RSHIFT3(fii)|T_PLUSii->T_PLUS(fii)|T_MINUSii->T_MINUS(fii)|T_DIVii->T_DIV(fii)|T_MULTii->T_MULT(fii)|T_MODii->T_MOD(fii)|T_NOTii->T_NOT(fii)|T_BIT_NOTii->T_BIT_NOT(fii)|T_INCRii->T_INCR(fii)|T_DECRii->T_DECR(fii)|T_DELETEii->T_DELETE(fii)|T_TYPEOFii->T_TYPEOF(fii)|T_VOIDii->T_VOID(fii)|T_VIRTUAL_SEMICOLONii->T_VIRTUAL_SEMICOLON(fii)|T_CLASSii->T_CLASS(fii)|T_EXTENDSii->T_EXTENDS(fii)|T_STATICii->T_STATIC(fii)|T_INTERFACEii->T_INTERFACE(fii)|T_XHP_OPEN_TAG(s,ii)->T_XHP_OPEN_TAG(s,fii)|T_XHP_CLOSE_TAG(s,ii)->T_XHP_CLOSE_TAG(s,fii)|T_XHP_GTii->T_XHP_GT(fii)|T_XHP_SLASH_GTii->T_XHP_SLASH_GT(fii)|T_XHP_ATTR(s,ii)->T_XHP_ATTR(s,fii)|T_XHP_TEXT(s,ii)->T_XHP_TEXT(s,fii)|T_ARROWii->T_ARROW(fii)|T_DOTSii->T_DOTS(fii)|T_DOLLARCURLYii->T_DOLLARCURLY(fii)|T_BACKQUOTEii->T_BACKQUOTE(fii)|T_ENCAPSED_STRING(s,ii)->T_ENCAPSED_STRING(s,fii)|T_LETii->T_LET(fii)|T_YIELDii->T_YIELD(fii)|T_ASYNCii->T_ASYNC(fii)|T_AWAITii->T_AWAIT(fii)|T_SUPERii->T_SUPER(fii)|T_IMPORTii->T_IMPORT(fii)|T_EXPORTii->T_EXPORT(fii)|T_FROMii->T_FROM(fii)|T_ASii->T_AS(fii)|T_OFii->T_OF(fii)|T_GETii->T_GET(fii)|T_SETii->T_SET(fii)|T_EXPONENTii->T_EXPONENT(fii)|T_IMPLEMENTSii->T_IMPLEMENTS(fii)|T_CONSTRUCTORii->T_CONSTRUCTOR(fii)|T_TYPEii->T_TYPE(fii)|T_ANY_TYPEii->T_ANY_TYPE(fii)|T_NUMBER_TYPEii->T_NUMBER_TYPE(fii)|T_BOOLEAN_TYPEii->T_BOOLEAN_TYPE(fii)|T_STRING_TYPEii->T_STRING_TYPE(fii)|T_ENUMii->T_ENUM(fii)|T_DECLAREii->T_DECLARE(fii)|T_MODULEii->T_MODULE(fii)|T_PUBLICii->T_PUBLIC(fii)|T_PRIVATEii->T_PRIVATE(fii)|T_PROTECTEDii->T_PROTECTED(fii)|T_READONLYii->T_READONLY(fii)letinfo_of_toktok=letres=refNoneinvisitor_info_of_tok(funii->res:=Someii;ii)tok|>ignore;Common2.some!res(*****************************************************************************)(* Accessors *)(*****************************************************************************)letline_of_toktok=letinfo=info_of_toktokinParse_info.line_of_infoinfoletcol_of_toktok=letinfo=info_of_toktokinParse_info.col_of_infoinfo