public StorageClass GetStorageClass() {
if (this.StorageClsSpecs.Count == 0) {
return StorageClass.AUTO;
}
if (this.StorageClsSpecs.Count == 1) {
switch (this.StorageClsSpecs[0]) {
case StorageClsSpec.AUTO:
case StorageClsSpec.NULL:
case StorageClsSpec.REGISTER:
return StorageClass.AUTO;
case StorageClsSpec.EXTERN:
return StorageClass.EXTERN;
case StorageClsSpec.STATIC:
return StorageClass.STATIC;
case StorageClsSpec.TYPEDEF:
return StorageClass.TYPEDEF;
default:
throw new InvalidOperationException();
}
}
throw new InvalidOperationException("Multiple storage class specifiers.");
}