Skip to content

Commit

Permalink
fix potential invalid cast
Browse files Browse the repository at this point in the history
  • Loading branch information
van800 committed Mar 1, 2023
1 parent c597212 commit e9df000
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 6 deletions.
Expand Up @@ -273,7 +273,9 @@ private static bool IsAvailableToMoveFromMethodToMethod(ITreeNode toMove, string
var reference = argument.GetReferences<UnityObjectTypeOrNamespaceReference>().FirstOrDefault();
if (reference != null && reference.Resolve().ResolveErrorType.IsAcceptable)
{
baseName = argument.ConstantValue.StringValue.NotNull();
var constantValue = argument.ConstantValue;
if (constantValue.IsString(out var name))
baseName = name.NotNull();
}
}
}
Expand Down
Expand Up @@ -172,7 +172,7 @@ private static bool HandleField(IFieldDeclaration field, string propertyName, st
if (arguments.Count == 1 && arguments[0].Value != null)
{
var constantValue = arguments[0].Value.ConstantValue(new UniversalContext(invocation));
if (constantValue.StringValue?.Equals(propertyName) == true)
if (constantValue.IsString(out var stringValue) && stringValue?.Equals(propertyName) == true)
return true;
}

Expand Down
Expand Up @@ -116,8 +116,8 @@ private bool HasExistingFormerlySerializedAsAttribute(IFieldDeclaration fieldDec
{
var attributeInstance = attribute.GetAttributeInstance();
var nameParameter = attributeInstance.PositionParameter(0);
if (nameParameter.IsConstant && nameParameter.ConstantValue.IsString() &&
nameParameter.ConstantValue.StringValue == nameArgument)
if (nameParameter.IsConstant && nameParameter.ConstantValue.IsString(out var stringValue) &&
stringValue == nameArgument)
{
list.Add(attribute);
}
Expand Down
Expand Up @@ -47,8 +47,8 @@ public override TreeTextRange GetTreeTextRange()
public override IReference BindTo(IDeclaredElement element)
{
var literalAlterer = StringLiteralAltererUtil.CreateStringLiteralByExpression(myOwner);
var constantValue = myOwner.ConstantValue.StringValue.NotNull();
literalAlterer.Replace(constantValue, element.ShortName);
var stringValue = myOwner.ConstantValue.StringValue.NotNull();
literalAlterer.Replace(stringValue, element.ShortName);
var newOwner = literalAlterer.Expression;
if (!myOwner.Equals(newOwner))
return newOwner.FindReference<StringLiteralReferenceBase>(r => r.GetType() == GetType()) ?? this;
Expand Down

0 comments on commit e9df000

Please sign in to comment.