69 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			69 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using Mono.Cecil;
							 | 
						||
| 
								 | 
							
								using Mono.Cecil.Cil;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace UnrealSharpWeaver;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidConstructorException(MethodDefinition constructor, string message) : WeaverProcessError(message, ErrorEmitter.GetSequencePointFromMemberDefinition(constructor));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class ConstructorNotFoundException(TypeDefinition type, string message) : WeaverProcessError(message, ErrorEmitter.GetSequencePointFromMemberDefinition(type));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidUnrealClassException(string propertyName, SequencePoint? sequencePoint, string message) : WeaverProcessError($"Class '{propertyName}' is invalid as a unreal class: {message}",
							 | 
						||
| 
								 | 
							
								        sequencePoint)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public InvalidUnrealClassException(TypeDefinition klass, string message)
							 | 
						||
| 
								 | 
							
								        : this(klass.FullName, ErrorEmitter.GetSequencePointFromMemberDefinition(klass), message)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidUnrealStructException(TypeDefinition structType, string message) 
							 | 
						||
| 
								 | 
							
								    : WeaverProcessError($"Struct '{structType.FullName}' is invalid as Unreal struct: {message}", ErrorEmitter.GetSequencePointFromMemberDefinition(structType));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidUnrealEnumException(TypeDefinition enumType, string message) : WeaverProcessError(
							 | 
						||
| 
								 | 
							
								    $"Enum '{enumType.FullName}' is invalid as Unreal enum: {message}",
							 | 
						||
| 
								 | 
							
								    ErrorEmitter.GetSequencePointFromMemberDefinition(enumType));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidPropertyException(string propertyName, SequencePoint? sequencePoint, string message)
							 | 
						||
| 
								 | 
							
								    : WeaverProcessError($"Property '{propertyName}' is invalid for unreal property: {message}",
							 | 
						||
| 
								 | 
							
								        sequencePoint)
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public InvalidPropertyException(IMemberDefinition property, string message)
							 | 
						||
| 
								 | 
							
								        : this(property.FullName, ErrorEmitter.GetSequencePointFromMemberDefinition(property), message)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidUnrealFunctionException(MethodDefinition method, string message)
							 | 
						||
| 
								 | 
							
								    : WeaverProcessError($"Method '{method.Name}' is invalid for unreal function: {message}", null,
							 | 
						||
| 
								 | 
							
								        ErrorEmitter.GetSequencePointFromMemberDefinition(method));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class NotDerivableClassException(TypeDefinition klass, TypeDefinition superKlass) : WeaverProcessError(
							 | 
						||
| 
								 | 
							
								    $"Class '{klass.FullName}' is invalid because '{superKlass.FullName}' may not be derived from in managed code.",
							 | 
						||
| 
								 | 
							
								    ErrorEmitter.GetSequencePointFromMemberDefinition(klass));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class UnableToFixPropertyBackingReferenceException : WeaverProcessError
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public UnableToFixPropertyBackingReferenceException(MethodDefinition constructor, PropertyDefinition property, OpCode opCode)
							 | 
						||
| 
								 | 
							
								        : base($"The type {constructor.DeclaringType.FullName}'s constructor references the property {property.Name} using an unsupported IL pattern", ErrorEmitter.GetSequencePointFromMemberDefinition(constructor))
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class UnsupportedPropertyInitializerException(PropertyDefinition property) : WeaverProcessError($"Property initializer for UProperty {property.Name} is not a supported constant type", ErrorEmitter.GetSequencePointFromMemberDefinition(property));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class RewriteException(TypeDefinition type, string message) : WeaverProcessError($"{type.FullName}: {message}", ErrorEmitter.GetSequencePointFromMemberDefinition(type));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								[Serializable]
							 | 
						||
| 
								 | 
							
								class InvalidAttributeException(TypeDefinition attributeType, SequencePoint? point, string message) : WeaverProcessError($"Invalid attribute class {attributeType.Name}: {message}", point);
							 |