cppast bugfix
This commit is contained in:
parent
8471e5b5c9
commit
b4ab4406fa
47
src/CppAst.md
Normal file
47
src/CppAst.md
Normal file
@ -0,0 +1,47 @@
|
||||
# CppParser
|
||||
|
||||
```c#
|
||||
if (skipProcessing && false)
|
||||
{
|
||||
compilation.Diagnostics.Warning($"Compilation aborted due to one or more errors listed above.", new CppSourceLocation(rootFileName, 0, 1, 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
translationUnit.Cursor.VisitChildren(builder.VisitTranslationUnit, clientData: default);
|
||||
}
|
||||
```
|
||||
|
||||
# CppModelBuilder
|
||||
|
||||
```c#
|
||||
//Debug.WriteLine($"[Warning]template argument in class:{cppClass.FullName} with type: {arg.kind} do not handle right now!");
|
||||
cppClass.TemplateSpecializedArguments.Add(new CppTemplateArgument(tempParams[(int)i], arg.ToString()));
|
||||
|
||||
|
||||
|
||||
//WarningUnhandled(cursor, parent);
|
||||
break;
|
||||
|
||||
|
||||
|
||||
if (!string.IsNullOrEmpty(errorMessage))
|
||||
{
|
||||
var element = (CppElement)attrContainer;
|
||||
//throw new Exception($"handle meta not right, detail: `{errorMessage}, location: `{element.Span}`");
|
||||
}
|
||||
|
||||
AppendToMetaAttributes(attrContainer.MetaAttributes.MetaList, metaAttr);
|
||||
|
||||
|
||||
|
||||
// TODO: this is not yet supported
|
||||
//RootCompilation.Diagnostics.Warning($"Dependent sized arrays `{CXUtil.GetTypeSpelling(type)}` from `{CXUtil.GetCursorSpelling(parent)}` is not supported", GetSourceLocation(parent.Location));
|
||||
var elementType = GetCppType(type.ArrayElementType.Declaration, type.ArrayElementType, parent, data);
|
||||
return new CppArrayType(elementType, (int)type.ArraySize);
|
||||
|
||||
|
||||
|
||||
//WarningUnhandled(cursor, parent, type);
|
||||
return new CppUnexposedType(CXUtil.GetTypeSpelling(type)) { SizeOf = (int)type.SizeOf };
|
||||
```
|
||||
|
||||
@ -220,7 +220,7 @@ namespace CppAst
|
||||
break;
|
||||
default:
|
||||
{
|
||||
Debug.WriteLine($"[Warning]template argument in class:{cppClass.FullName} with type: {arg.kind} do not handle right now!");
|
||||
//Debug.WriteLine($"[Warning]template argument in class:{cppClass.FullName} with type: {arg.kind} do not handle right now!");
|
||||
cppClass.TemplateSpecializedArguments.Add(new CppTemplateArgument(tempParams[(int)i], arg.ToString()));
|
||||
}
|
||||
break;
|
||||
@ -428,7 +428,7 @@ namespace CppAst
|
||||
// Don't emit warning
|
||||
break;
|
||||
default:
|
||||
WarningUnhandled(cursor, parent);
|
||||
//WarningUnhandled(cursor, parent);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1613,7 +1613,7 @@ namespace CppAst
|
||||
if (!string.IsNullOrEmpty(errorMessage))
|
||||
{
|
||||
var element = (CppElement)attrContainer;
|
||||
throw new Exception($"handle meta not right, detail: `{errorMessage}, location: `{element.Span}`");
|
||||
//throw new Exception($"handle meta not right, detail: `{errorMessage}, location: `{element.Span}`");
|
||||
}
|
||||
|
||||
AppendToMetaAttributes(attrContainer.MetaAttributes.MetaList, metaAttr);
|
||||
@ -1902,7 +1902,7 @@ namespace CppAst
|
||||
case CXTypeKind.CXType_DependentSizedArray:
|
||||
{
|
||||
// TODO: this is not yet supported
|
||||
RootCompilation.Diagnostics.Warning($"Dependent sized arrays `{CXUtil.GetTypeSpelling(type)}` from `{CXUtil.GetCursorSpelling(parent)}` is not supported", GetSourceLocation(parent.Location));
|
||||
//RootCompilation.Diagnostics.Warning($"Dependent sized arrays `{CXUtil.GetTypeSpelling(type)}` from `{CXUtil.GetCursorSpelling(parent)}` is not supported", GetSourceLocation(parent.Location));
|
||||
var elementType = GetCppType(type.ArrayElementType.Declaration, type.ArrayElementType, parent, data);
|
||||
return new CppArrayType(elementType, (int)type.ArraySize);
|
||||
}
|
||||
@ -1933,7 +1933,7 @@ namespace CppAst
|
||||
|
||||
default:
|
||||
{
|
||||
WarningUnhandled(cursor, parent, type);
|
||||
//WarningUnhandled(cursor, parent, type);
|
||||
return new CppUnexposedType(CXUtil.GetTypeSpelling(type)) { SizeOf = (int)type.SizeOf };
|
||||
}
|
||||
}
|
||||
|
||||
@ -211,7 +211,7 @@ namespace CppAst
|
||||
}
|
||||
}
|
||||
|
||||
if (skipProcessing)
|
||||
if (skipProcessing && false)
|
||||
{
|
||||
compilation.Diagnostics.Warning($"Compilation aborted due to one or more errors listed above.", new CppSourceLocation(rootFileName, 0, 1, 1));
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user