HLSL: Add 'class' keyword as (so far) synonym for 'struct'.
This commit is contained in:
parent
c18cae2145
commit
27ffb29908
5 changed files with 11 additions and 6 deletions
|
|
@ -1259,6 +1259,7 @@ bool HlslGrammar::acceptType(TType& type)
|
|||
return acceptStructBufferType(type);
|
||||
break;
|
||||
|
||||
case EHTokClass:
|
||||
case EHTokStruct:
|
||||
case EHTokCBuffer:
|
||||
case EHTokTBuffer:
|
||||
|
|
@ -1732,6 +1733,7 @@ bool HlslGrammar::acceptType(TType& type)
|
|||
//
|
||||
// struct_type
|
||||
// : STRUCT
|
||||
// | CLASS
|
||||
// | CBUFFER
|
||||
// | TBUFFER
|
||||
//
|
||||
|
|
@ -1747,8 +1749,9 @@ bool HlslGrammar::acceptStruct(TType& type)
|
|||
// TBUFFER
|
||||
else if (acceptTokenClass(EHTokTBuffer))
|
||||
storageQualifier = EvqBuffer;
|
||||
// CLASS
|
||||
// STRUCT
|
||||
else if (! acceptTokenClass(EHTokStruct))
|
||||
else if (! acceptTokenClass(EHTokClass) && ! acceptTokenClass(EHTokStruct))
|
||||
return false;
|
||||
|
||||
// IDENTIFIER
|
||||
|
|
|
|||
|
|
@ -327,6 +327,7 @@ void HlslScanContext::fillInKeywordMap()
|
|||
(*KeywordMap)["RWStructuredBuffer"] = EHTokRWStructuredBuffer;
|
||||
(*KeywordMap)["StructuredBuffer"] = EHTokStructuredBuffer;
|
||||
|
||||
(*KeywordMap)["class"] = EHTokClass;
|
||||
(*KeywordMap)["struct"] = EHTokStruct;
|
||||
(*KeywordMap)["cbuffer"] = EHTokCBuffer;
|
||||
(*KeywordMap)["tbuffer"] = EHTokTBuffer;
|
||||
|
|
@ -354,7 +355,6 @@ void HlslScanContext::fillInKeywordMap()
|
|||
ReservedSet->insert("auto");
|
||||
ReservedSet->insert("catch");
|
||||
ReservedSet->insert("char");
|
||||
ReservedSet->insert("class");
|
||||
ReservedSet->insert("const_cast");
|
||||
ReservedSet->insert("enum");
|
||||
ReservedSet->insert("explicit");
|
||||
|
|
@ -740,6 +740,7 @@ EHlslTokenClass HlslScanContext::tokenizeIdentifier()
|
|||
return keyword;
|
||||
|
||||
// variable, user type, ...
|
||||
case EHTokClass:
|
||||
case EHTokStruct:
|
||||
case EHTokTypedef:
|
||||
case EHTokCBuffer:
|
||||
|
|
|
|||
|
|
@ -268,6 +268,7 @@ enum EHlslTokenClass {
|
|||
// variable, user type, ...
|
||||
EHTokIdentifier,
|
||||
EHTokTypeName,
|
||||
EHTokClass,
|
||||
EHTokStruct,
|
||||
EHTokCBuffer,
|
||||
EHTokTBuffer,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue