Skip to content

Commit db8cfe2

Browse files
committed
fix struct.unpack & some typo
1 parent 1175189 commit db8cfe2

2 files changed

Lines changed: 38 additions & 37 deletions

File tree

‎CSharp.lua/CoreSystem.Lua/CoreSystem/Convert.lua‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ local spack, sunpack, getBytesFromInt64, toInt64
518518
if System.luaVersion < 5.3 then
519519
local struct = rawget(global, "struct")
520520
if struct then
521-
spack, sunpack = struct.pack, struct.upack
521+
spack, sunpack = struct.pack, struct.unpack
522522
end
523523
if not spack then
524524
spack = function ()

‎CSharp.lua/LuaSyntaxNodeTransform.cs‎

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ private void CheckBaseTypeGenericKind(ref bool hasExtendSelf, INamedTypeSymbol t
295295
}
296296
}
297297

298-
private LuaSpeaicalGenericType CheckSpeaicalGenericArgument(INamedTypeSymbol typeSymbol) {
298+
private LuaSpeaicalGenericType CheckSpecialGenericArgument(INamedTypeSymbol typeSymbol) {
299299
var interfaceType = typeSymbol.AllInterfaces.FirstOrDefault(i => i.IsGenericIEnumerableType());
300300
if (interfaceType != null) {
301301
bool isBaseImplementation = typeSymbol.BaseType != null && typeSymbol.BaseType.AllInterfaces.Any(i => i.IsGenericIEnumerableType());
@@ -362,7 +362,7 @@ private void BuildBaseTypes(INamedTypeSymbol typeSymbol, LuaTypeDeclarationSynta
362362
if (typeSymbol.IsRecordType()) {
363363
baseTypes.Add(GetRecordInterfaceTypeName(typeSymbol));
364364
}
365-
var genericArgument = CheckSpeaicalGenericArgument(typeSymbol);
365+
var genericArgument = CheckSpecialGenericArgument(typeSymbol);
366366
var baseCopyFields = GetBaseCopyFields(types.FirstOrDefault());
367367
typeDeclaration.AddBaseTypes(baseTypes, genericArgument, baseCopyFields);
368368
if (hasExtendSelf && !generator_.IsExplicitStaticCtorExists(typeSymbol)) {
@@ -600,8 +600,8 @@ public override LuaSyntaxNode VisitDelegateDeclaration(DelegateDeclarationSyntax
600600
}
601601

602602
private void VisitYield(IMethodSymbol symbol, LuaFunctionExpressionSyntax function) {
603-
var retrurnTypeSymbol = (INamedTypeSymbol)symbol.ReturnType;
604-
string name = LuaSyntaxNode.Tokens.Yield + retrurnTypeSymbol.Name;
603+
var returnTypeSymbol = (INamedTypeSymbol)symbol.ReturnType;
604+
string name = LuaSyntaxNode.Tokens.Yield + returnTypeSymbol.Name;
605605
var invokeExpression = LuaIdentifierNameSyntax.System.MemberAccess(name).Invocation();
606606
var wrapFunction = new LuaFunctionExpressionSyntax();
607607
if (symbol.IsAsync) {
@@ -612,8 +612,8 @@ private void VisitYield(IMethodSymbol symbol, LuaFunctionExpressionSyntax functi
612612
wrapFunction.ParameterList.Parameters.AddRange(parameters);
613613
wrapFunction.AddStatements(function.Body.Statements);
614614
invokeExpression.AddArgument(wrapFunction);
615-
if (retrurnTypeSymbol.IsGenericType) {
616-
var typeName = retrurnTypeSymbol.TypeArguments.First();
615+
if (returnTypeSymbol.IsGenericType) {
616+
var typeName = returnTypeSymbol.TypeArguments.First();
617617
var expression = GetTypeName(typeName);
618618
invokeExpression.AddArgument(expression);
619619
} else {
@@ -3480,11 +3480,11 @@ public override LuaSyntaxNode VisitVariableDeclaration(VariableDeclarationSyntax
34803480
public override LuaSyntaxNode VisitVariableDeclarator(VariableDeclaratorSyntax node) {
34813481
LuaIdentifierNameSyntax identifier = node.Identifier.ValueText;
34823482
CheckLocalVariableName(ref identifier, node);
3483-
var variableDeclarator = new LuaVariableDeclaratorSyntax(identifier);
3483+
var variable = new LuaVariableDeclaratorSyntax(identifier);
34843484
if (node.Initializer != null) {
3485-
variableDeclarator.Initializer = node.Initializer.Accept<LuaEqualsValueClauseSyntax>(this);
3485+
variable.Initializer = node.Initializer.Accept<LuaEqualsValueClauseSyntax>(this);
34863486
}
3487-
return variableDeclarator;
3487+
return variable;
34883488
}
34893489

34903490
public override LuaSyntaxNode VisitEqualsValueClause(EqualsValueClauseSyntax node) {
@@ -3890,7 +3890,7 @@ public override LuaSyntaxNode VisitBreakStatement(BreakStatementSyntax node) {
38903890
private LuaExpressionSyntax BuildEnumToStringExpression(ITypeSymbol typeInfo, bool isNullable, LuaExpressionSyntax original, ExpressionSyntax node) {
38913891
if (original is LuaLiteralExpressionSyntax) {
38923892
var symbol = semanticModel_.GetSymbolInfo(node).Symbol;
3893-
return new LuaConstLiteralExpression(new LuaStringLiteralExpressionSyntax(symbol.Name), typeInfo.ToString());
3893+
return new LuaConstLiteralExpression(new LuaStringLiteralExpressionSyntax(symbol!.Name), typeInfo.ToString());
38943894
}
38953895

38963896
AddExportEnum(typeInfo);
@@ -4436,11 +4436,11 @@ private bool IsSingleLineUnary(ExpressionSyntax node) {
44364436
return false;
44374437
}
44384438

4439-
private void ChecktIncrementExpression(ExpressionSyntax operand, ref LuaExpressionSyntax expression, bool isAddOrAssignment) {
4439+
private void CheckIncrementExpression(ExpressionSyntax operand, ref LuaExpressionSyntax expression, bool isAddOrAssignment) {
44404440
var symbol = semanticModel_.GetTypeInfo(operand).Type;
44414441
if (!symbol.IsNumberType()) {
4442-
var op_Implicits = symbol.GetMembers("op_Implicit").OfType<IMethodSymbol>();
4443-
var methodSymbol = op_Implicits.FirstOrDefault(i => isAddOrAssignment ? i.ReturnType.IsIntegerType() : i.ReturnType.EQ(symbol));
4442+
var method = symbol.GetMembers("op_Implicit").OfType<IMethodSymbol>();
4443+
var methodSymbol = method.FirstOrDefault(i => isAddOrAssignment ? i.ReturnType.IsIntegerType() : i.ReturnType.EQ(symbol));
44444444
if (methodSymbol != null) {
44454445
expression = BuildConversionExpression(methodSymbol, expression);
44464446
}
@@ -4449,9 +4449,9 @@ private void ChecktIncrementExpression(ExpressionSyntax operand, ref LuaExpressi
44494449

44504450
private LuaSyntaxNode BuildPrefixUnaryExpression(bool isSingleLine, string operatorToken, LuaExpressionSyntax operand, PrefixUnaryExpressionSyntax node, bool isLocalVar = false) {
44514451
var left = operand;
4452-
ChecktIncrementExpression(node.Operand, ref left, true);
4452+
CheckIncrementExpression(node.Operand, ref left, true);
44534453
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4454-
ChecktIncrementExpression(node.Operand, ref binary, false);
4454+
CheckIncrementExpression(node.Operand, ref binary, false);
44554455
if (isSingleLine) {
44564456
return operand.Assignment(binary);
44574457
} else {
@@ -4470,9 +4470,9 @@ private LuaSyntaxNode BuildPrefixUnaryExpression(bool isSingleLine, string opera
44704470
private LuaSyntaxNode BuildPropertyPrefixUnaryExpression(bool isSingleLine, string operatorToken, LuaPropertyAdapterExpressionSyntax get, LuaPropertyAdapterExpressionSyntax set, PrefixUnaryExpressionSyntax node) {
44714471
set.IsGetOrAdd = false;
44724472
LuaExpressionSyntax left = get;
4473-
ChecktIncrementExpression(node.Operand, ref left, true);
4473+
CheckIncrementExpression(node.Operand, ref left, true);
44744474
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4475-
ChecktIncrementExpression(node.Operand, ref binary, false);
4475+
CheckIncrementExpression(node.Operand, ref binary, false);
44764476
if (isSingleLine) {
44774477
set.ArgumentList.AddArgument(binary);
44784478
return set;
@@ -4615,17 +4615,17 @@ public override LuaSyntaxNode VisitPrefixUnaryExpression(PrefixUnaryExpressionSy
46154615
private LuaSyntaxNode BuildPostfixUnaryExpression(bool isSingleLine, string operatorToken, LuaExpressionSyntax operand, PostfixUnaryExpressionSyntax node) {
46164616
if (isSingleLine) {
46174617
var left = operand;
4618-
ChecktIncrementExpression(node.Operand, ref left, true);
4618+
CheckIncrementExpression(node.Operand, ref left, true);
46194619
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4620-
ChecktIncrementExpression(node.Operand, ref binary, false);
4620+
CheckIncrementExpression(node.Operand, ref binary, false);
46214621
return operand.Assignment(binary);
46224622
} else {
46234623
var temp = GetTempIdentifier();
46244624
CurBlock.Statements.Add(new LuaLocalVariableDeclaratorSyntax(temp, operand));
46254625
LuaExpressionSyntax left = temp;
4626-
ChecktIncrementExpression(node.Operand, ref left, true);
4626+
CheckIncrementExpression(node.Operand, ref left, true);
46274627
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4628-
ChecktIncrementExpression(node.Operand, ref binary, false);
4628+
CheckIncrementExpression(node.Operand, ref binary, false);
46294629
CurBlock.Statements.Add(operand.Assignment(binary));
46304630
return temp;
46314631
}
@@ -4635,18 +4635,18 @@ private LuaSyntaxNode BuildPropertyPostfixUnaryExpression(bool isSingleLine, str
46354635
set.IsGetOrAdd = false;
46364636
if (isSingleLine) {
46374637
LuaExpressionSyntax left = get;
4638-
ChecktIncrementExpression(node.Operand, ref left, true);
4638+
CheckIncrementExpression(node.Operand, ref left, true);
46394639
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4640-
ChecktIncrementExpression(node.Operand, ref binary, false);
4640+
CheckIncrementExpression(node.Operand, ref binary, false);
46414641
set.ArgumentList.AddArgument(binary);
46424642
return set;
46434643
} else {
46444644
var temp = GetTempIdentifier();
46454645
CurBlock.Statements.Add(new LuaLocalVariableDeclaratorSyntax(temp, get));
46464646
LuaExpressionSyntax left = temp;
4647-
ChecktIncrementExpression(node.Operand, ref left, true);
4647+
CheckIncrementExpression(node.Operand, ref left, true);
46484648
LuaExpressionSyntax binary = left.Binary(operatorToken, LuaIdentifierNameSyntax.One);
4649-
ChecktIncrementExpression(node.Operand, ref binary, false);
4649+
CheckIncrementExpression(node.Operand, ref binary, false);
46504650
set.ArgumentList.AddArgument(binary);
46514651
CurBlock.AddStatement(set);
46524652
return temp;
@@ -4841,15 +4841,15 @@ public override LuaSyntaxNode VisitDoStatement(DoStatementSyntax node) {
48414841
}
48424842

48434843
public override LuaSyntaxNode VisitYieldStatement(YieldStatementSyntax node) {
4844-
var curMehod = CurMethodInfoOrNull;
4845-
curMehod.HasYield = true;
4844+
var curMethod = CurMethodInfoOrNull;
4845+
curMethod.HasYield = true;
48464846
if (node.IsKind(SyntaxKind.YieldBreakStatement)) {
48474847
return new LuaReturnStatementSyntax();
48484848
} else {
48494849
string yieldToken = node.YieldKeyword.ValueText;
48504850
var expression = node.Expression.AcceptExpression(this);
48514851
LuaExpressionSyntax targetMethod;
4852-
if (curMehod.Symbol.IsAsync) {
4852+
if (curMethod.Symbol.IsAsync) {
48534853
targetMethod = LuaIdentifierNameSyntax.Async.MemberAccess(yieldToken, true);
48544854
} else {
48554855
targetMethod = LuaIdentifierNameSyntax.System.MemberAccess(yieldToken);
@@ -5005,10 +5005,10 @@ private LuaExpressionSyntax BuildEnumAndNumberCastExpression(LuaExpressionSyntax
50055005
}
50065006

50075007
private LuaExpressionSyntax BuildNullableCastExpression(LuaExpressionSyntax expression, ITypeSymbol originalType, ITypeSymbol targetType) {
5008-
var targetNullableElemetType = targetType.NullableElemetType();
5009-
var originalNullableElemetType = originalType.NullableElemetType();
5010-
if (targetNullableElemetType != null) {
5011-
if (originalNullableElemetType != null) {
5008+
var targetNullableElementType = targetType.NullableElemetType();
5009+
var originalNullableElementType = originalType.NullableElemetType();
5010+
if (targetNullableElementType != null) {
5011+
if (originalNullableElementType != null) {
50125012
bool isIdentifier = false;
50135013
LuaIdentifierNameSyntax identifier;
50145014
if (expression is LuaIdentifierNameSyntax identifierName) {
@@ -5017,7 +5017,7 @@ private LuaExpressionSyntax BuildNullableCastExpression(LuaExpressionSyntax expr
50175017
} else {
50185018
identifier = GetTempIdentifier();
50195019
}
5020-
var castExpression = BuildEnumAndNumberCastExpression(identifier, originalNullableElemetType, targetNullableElemetType);
5020+
var castExpression = BuildEnumAndNumberCastExpression(identifier, originalNullableElementType, targetNullableElementType);
50215021
if (castExpression != null) {
50225022
if (castExpression == identifier) {
50235023
return expression;
@@ -5028,12 +5028,12 @@ private LuaExpressionSyntax BuildNullableCastExpression(LuaExpressionSyntax expr
50285028
return identifier.And(castExpression);
50295029
}
50305030
} else {
5031-
return BuildEnumAndNumberCastExpression(expression, originalType, targetNullableElemetType);
5031+
return BuildEnumAndNumberCastExpression(expression, originalType, targetNullableElementType);
50325032
}
5033-
} else if (originalNullableElemetType != null) {
5033+
} else if (originalNullableElementType != null) {
50345034
var explicitMethod = (IMethodSymbol)originalType.GetMembers("op_Explicit").First();
50355035
expression = BuildConversionExpression(explicitMethod, expression);
5036-
return BuildEnumAndNumberCastExpression(expression, originalNullableElemetType, targetType);
5036+
return BuildEnumAndNumberCastExpression(expression, originalNullableElementType, targetType);
50375037
}
50385038
return null;
50395039
}
@@ -5045,6 +5045,7 @@ public override LuaSyntaxNode VisitCastExpression(CastExpressionSyntax node) {
50455045
}
50465046

50475047
var targetType = semanticModel_.GetTypeInfo(node.Type).Type;
5048+
Contract.Assert(targetType != null);
50485049
var expression = node.Expression.AcceptExpression(this);
50495050
if (targetType.SpecialType == SpecialType.System_Object || targetType.Kind == SymbolKind.DynamicType) {
50505051
return expression;

0 commit comments

Comments
 (0)