22 else if (str == kEnable)
return EBhEnable;
24 else if (str == kWarn)
return EBhWarn;
30 : mExtensionBehavior(extBehavior),
31 mDiagnostics(diagnostics)
55 bool invalidValue =
false;
62 else if (name == kOptimize)
64 if (value == kOn) mPragma.
optimize =
true;
65 else if (value == kOff) mPragma.
optimize =
false;
66 else invalidValue =
true;
68 else if (name == kDebug)
70 if (value == kOn) mPragma.
debug =
true;
71 else if (value == kOff) mPragma.
debug =
false;
72 else invalidValue =
true;
82 "invalid pragma value", value,
83 "'on' or 'off' expected");
96 "behavior", name,
"invalid");
106 "cannot have 'require' behavior");
112 "cannot have 'enable' behavior");
116 for (TExtensionBehavior::iterator iter = mExtensionBehavior.begin();
117 iter != mExtensionBehavior.end(); ++iter)
118 iter->second = behaviorVal;
123 TExtensionBehavior::iterator iter = mExtensionBehavior.find(name);
124 if (iter != mExtensionBehavior.end())
126 iter->second = behaviorVal;
131 switch (behaviorVal) {
145 "extension", name,
"is not supported");
151 static const int kVersion = 100;
153 if (version != kVersion)
159 "version number", str,
"not supported");
std::map< std::string, TBehavior > TExtensionBehavior
EGLImageKHR EGLint * name
virtual ~TDirectiveHandler()
virtual void handleVersion(const pp::SourceLocation &loc, int version)
static TBehavior getBehavior(const std::string &str)
void writeInfo(Severity severity, const pp::SourceLocation &loc, const std::string &reason, const std::string &token, const std::string &extra)
virtual void handleError(const pp::SourceLocation &loc, const std::string &msg)
void report(ID id, const SourceLocation &loc, const std::string &text)
TDirectiveHandler(TExtensionBehavior &extBehavior, TDiagnostics &diagnostics)
virtual void handlePragma(const pp::SourceLocation &loc, const std::string &name, const std::string &value)
EGLSurface EGLint void ** value
virtual void handleExtension(const pp::SourceLocation &loc, const std::string &name, const std::string &behavior)
GLsizei const GLcharARB ** string