55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
# 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 };
|
|
```
|
|
|
|
# CppElement
|
|
|
|
```c#
|
|
throw new NotImplementedException("Can not be here, not support type here!");
|
|
//throw new NotImplementedException("Can not be here, not support type here!");
|
|
```
|
|
|