Skip to content

Commit a561822

Browse files
author
Alex Davies
committed
Migrate to VS2017. Include build for netstandard1.0, bump version to 1.0.0.
1 parent e25e6ba commit a561822

17 files changed

Lines changed: 86 additions & 325 deletions

.nuget/nuget.exe

-4.07 MB
Binary file not shown.

StringToExpression.sln

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 14
4-
VisualStudioVersion = 14.0.25420.1
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.26228.12
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{DAB89BA5-F320-49BD-A68E-12E3C7191CDD}"
77
EndProject
8-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StringToExpression", "src\StringToExpression\StringToExpression.csproj", "{B1B0A26F-04E2-40E5-B25C-12764E50BEFC}"
9-
EndProject
108
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{03FEEEAD-4F6F-4573-83E4-E4CABAA242A8}"
119
EndProject
12-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StringToExpression.Test", "tests\StringToExpression.Test\StringToExpression.Test.csproj", "{D3E70B64-E690-40BC-800F-5C463386E951}"
10+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StringToExpression", "src\StringToExpression\StringToExpression.csproj", "{718F11D6-BD9A-4267-95D0-10446D7E0877}"
11+
EndProject
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StringToExpression.Test", "tests\StringToExpression.Test\StringToExpression.Test.csproj", "{D2058E9F-F528-46CF-89CA-762473CECBB1}"
1313
EndProject
1414
Global
1515
GlobalSection(SolutionConfigurationPlatforms) = preSolution
1616
Debug|Any CPU = Debug|Any CPU
1717
Release|Any CPU = Release|Any CPU
1818
EndGlobalSection
1919
GlobalSection(ProjectConfigurationPlatforms) = postSolution
20-
{B1B0A26F-04E2-40E5-B25C-12764E50BEFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21-
{B1B0A26F-04E2-40E5-B25C-12764E50BEFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
22-
{B1B0A26F-04E2-40E5-B25C-12764E50BEFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
23-
{B1B0A26F-04E2-40E5-B25C-12764E50BEFC}.Release|Any CPU.Build.0 = Release|Any CPU
24-
{D3E70B64-E690-40BC-800F-5C463386E951}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25-
{D3E70B64-E690-40BC-800F-5C463386E951}.Debug|Any CPU.Build.0 = Debug|Any CPU
26-
{D3E70B64-E690-40BC-800F-5C463386E951}.Release|Any CPU.ActiveCfg = Release|Any CPU
27-
{D3E70B64-E690-40BC-800F-5C463386E951}.Release|Any CPU.Build.0 = Release|Any CPU
20+
{718F11D6-BD9A-4267-95D0-10446D7E0877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
21+
{718F11D6-BD9A-4267-95D0-10446D7E0877}.Debug|Any CPU.Build.0 = Debug|Any CPU
22+
{718F11D6-BD9A-4267-95D0-10446D7E0877}.Release|Any CPU.ActiveCfg = Release|Any CPU
23+
{718F11D6-BD9A-4267-95D0-10446D7E0877}.Release|Any CPU.Build.0 = Release|Any CPU
24+
{D2058E9F-F528-46CF-89CA-762473CECBB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
25+
{D2058E9F-F528-46CF-89CA-762473CECBB1}.Debug|Any CPU.Build.0 = Debug|Any CPU
26+
{D2058E9F-F528-46CF-89CA-762473CECBB1}.Release|Any CPU.ActiveCfg = Release|Any CPU
27+
{D2058E9F-F528-46CF-89CA-762473CECBB1}.Release|Any CPU.Build.0 = Release|Any CPU
2828
EndGlobalSection
2929
GlobalSection(SolutionProperties) = preSolution
3030
HideSolutionNode = FALSE
3131
EndGlobalSection
3232
GlobalSection(NestedProjects) = preSolution
33-
{B1B0A26F-04E2-40E5-B25C-12764E50BEFC} = {DAB89BA5-F320-49BD-A68E-12E3C7191CDD}
34-
{D3E70B64-E690-40BC-800F-5C463386E951} = {03FEEEAD-4F6F-4573-83E4-E4CABAA242A8}
33+
{718F11D6-BD9A-4267-95D0-10446D7E0877} = {DAB89BA5-F320-49BD-A68E-12E3C7191CDD}
34+
{D2058E9F-F528-46CF-89CA-762473CECBB1} = {03FEEEAD-4F6F-4573-83E4-E4CABAA242A8}
3535
EndGlobalSection
3636
EndGlobal

build/build.bat

Lines changed: 0 additions & 1 deletion
This file was deleted.

build/package.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
dotnet build ..\src\StringToExpression\StringToExpression.csproj --configuration=Release
2+
dotnet pack ..\src\StringToExpression\StringToExpression.csproj --configuration=Release --output ../../artifacts

src/StringToExpression/GrammerDefinitions/BracketCloseDefinition.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public BracketCloseDefinition(string name, string regex,
4242
{
4343
if (bracketOpenDefinitions == null)
4444
throw new ArgumentNullException(nameof(bracketOpenDefinitions));
45-
this.BracketOpenDefinitions = bracketOpenDefinitions.ToList().AsReadOnly();
45+
this.BracketOpenDefinitions = bracketOpenDefinitions.ToList();
4646
this.ListDelimeterDefinition = listDelimeterDefinition;
4747
}
4848

src/StringToExpression/GrammerDefinitions/FunctionCallDefinition.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public FunctionCallDefinition(
4141
Func<Expression[], Expression> expressionBuilder)
4242
: base(name, regex)
4343
{
44-
this.ArgumentTypes = argumentTypes?.ToList()?.AsReadOnly();
44+
this.ArgumentTypes = argumentTypes?.ToList();
4545
this.ExpressionBuilder = expressionBuilder;
4646
}
4747

src/StringToExpression/GrammerDefinitions/OperatorDefinition.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public OperatorDefinition(string name,
9494
if (expressionBuilder == null)
9595
throw new ArgumentNullException(nameof(expressionBuilder));
9696

97-
ParamaterPositions = paramaterPositions.ToList().AsReadOnly();
97+
ParamaterPositions = paramaterPositions.ToList();
9898
ExpressionBuilder = expressionBuilder;
9999
OrderOfPrecedence = orderOfPrecedence;
100100
}

src/StringToExpression/Languages/ArithmeticLanguage.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -224,11 +224,7 @@ protected virtual IEnumerable<GrammerDefinition> PropertyDefinitions()
224224
expressionBuilder: (value, parameters) => {
225225
return value.Split('.').Aggregate((Expression)parameters[0], (exp, prop)=>
226226
{
227-
return Expression.MakeMemberAccess(exp, exp.Type.GetProperty(prop,
228-
BindingFlags.Instance
229-
| BindingFlags.Public
230-
| BindingFlags.GetProperty
231-
| BindingFlags.IgnoreCase));
227+
return Expression.MakeMemberAccess(exp, TypeShim.GetProperty(exp.Type, prop));
232228
});
233229
}),
234230
};

src/StringToExpression/Languages/ODataFilterLanguage.cs

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -144,45 +144,45 @@ protected virtual IEnumerable<GrammerDefinition> LogicalOperatorDefinitions()
144144
name:"EQ",
145145
regex: @"eq",
146146
orderOfPrecedence:11,
147-
expressionBuilder: Expression.Equal),
147+
expressionBuilder: (left,right) => Expression.Equal(left, right)),
148148
new BinaryOperatorDefinition(
149149
name:"NE",
150150
regex: @"ne",
151151
orderOfPrecedence:12,
152-
expressionBuilder: Expression.NotEqual),
152+
expressionBuilder: (left,right) => Expression.NotEqual(left, right)),
153153

154154
new BinaryOperatorDefinition(
155155
name:"GT",
156156
regex: @"gt",
157157
orderOfPrecedence:13,
158-
expressionBuilder: Expression.GreaterThan),
158+
expressionBuilder: (left,right) => Expression.GreaterThan(left, right)),
159159
new BinaryOperatorDefinition(
160160
name:"GE",
161161
regex: @"ge",
162162
orderOfPrecedence:14,
163-
expressionBuilder: Expression.GreaterThanOrEqual),
163+
expressionBuilder: (left,right) => Expression.GreaterThanOrEqual(left, right)),
164164

165165
new BinaryOperatorDefinition(
166166
name:"LT",
167167
regex: @"lt",
168168
orderOfPrecedence:15,
169-
expressionBuilder: Expression.LessThan),
169+
expressionBuilder: (left,right) => Expression.LessThan(left, right)),
170170
new BinaryOperatorDefinition(
171171
name:"LE",
172172
regex: @"le",
173173
orderOfPrecedence:16,
174-
expressionBuilder: Expression.LessThanOrEqual),
174+
expressionBuilder: (left,right) => Expression.LessThanOrEqual(left, right)),
175175

176176
new BinaryOperatorDefinition(
177177
name:"AND",
178178
regex: @"and",
179179
orderOfPrecedence:17,
180-
expressionBuilder: Expression.AndAlso),
180+
expressionBuilder: (left,right) => Expression.And(left, right)),
181181
new BinaryOperatorDefinition(
182182
name:"OR",
183183
regex: @"or",
184184
orderOfPrecedence:18,
185-
expressionBuilder: Expression.OrElse),
185+
expressionBuilder: (left,right) => Expression.Or(left, right)),
186186

187187
new UnaryOperatorDefinition(
188188
name:"NOT",
@@ -208,27 +208,27 @@ protected virtual IEnumerable<GrammerDefinition> ArithmeticOperatorDefinitions()
208208
name:"ADD",
209209
regex: @"add",
210210
orderOfPrecedence: 2,
211-
expressionBuilder: Expression.Add),
211+
expressionBuilder: (left,right) => Expression.Add(left, right)),
212212
new BinaryOperatorDefinition(
213213
name:"SUB",
214214
regex: @"sub",
215215
orderOfPrecedence: 2,
216-
expressionBuilder: Expression.Subtract),
216+
expressionBuilder: (left,right) => Expression.Subtract(left, right)),
217217
new BinaryOperatorDefinition(
218218
name:"MUL",
219219
regex: @"mul",
220220
orderOfPrecedence: 1,
221-
expressionBuilder: Expression.Multiply),
221+
expressionBuilder: (left,right) => Expression.Multiply(left, right)),
222222
new BinaryOperatorDefinition(
223223
name:"DIV",
224224
regex: @"div",
225225
orderOfPrecedence: 1,
226-
expressionBuilder: Expression.Divide),
226+
expressionBuilder: (left,right) => Expression.Divide(left, right)),
227227
new BinaryOperatorDefinition(
228228
name:"MOD",
229229
regex: @"mod",
230230
orderOfPrecedence: 1,
231-
expressionBuilder: Expression.Modulo),
231+
expressionBuilder: (left,right) => Expression.Modulo(left, right)),
232232
};
233233
}
234234

@@ -383,11 +383,7 @@ protected virtual IEnumerable<GrammerDefinition> PropertyDefinitions()
383383
name:"PROPERTY_PATH",
384384
regex: @"(?<![0-9])([A-Za-z_][A-Za-z0-9_]*/?)+",
385385
expressionBuilder: (value, parameters) => {
386-
return value.Split('/').Aggregate((Expression)parameters[0], (exp, prop)=> Expression.MakeMemberAccess(exp, exp.Type.GetProperty(prop,
387-
BindingFlags.Instance
388-
| BindingFlags.Public
389-
| BindingFlags.GetProperty
390-
| BindingFlags.IgnoreCase)));
386+
return value.Split('/').Aggregate((Expression)parameters[0], (exp, prop)=> Expression.MakeMemberAccess(exp, TypeShim.GetProperty(exp.Type, prop)));
391387
}),
392388
};
393389
}

src/StringToExpression/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)