#ifndef frontend_BinASTParserBase_h
#define frontend_BinASTParserBase_h
#include <stddef.h>
#include "ds/LifoAlloc.h"
#include "frontend/FullParseHandler.h"
#include "frontend/ParseContext.h"
#include "frontend/ParseNode.h"
#include "frontend/Parser.h"
#include "frontend/SharedContext.h"
#include "js/RootingAPI.h"
#include "js/TracingAPI.h"
#include "js/Utility.h"
#include "vm/JSContext.h"
#include "vm/JSScript.h"
namespace js {
namespace frontend {
class BinASTParserBase : public ParserSharedBase {
public:
BinASTParserBase(JSContext* cx, LifoAlloc& alloc, UsedNameTracker& usedNames,
HandleScriptSourceObject sourceObject);
~BinASTParserBase() = default;
public:
virtual void doTrace(JSTracer* trc) {}
void trace(JSTracer* trc) {
TraceListNode::TraceList(trc, traceListHead_);
doTrace(trc);
}
};
} }
#endif