Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ CompileNoLabelPush()

void System.Linq.Expressions.Interpreter.LightCompiler.CompileNoLabelPush ( Expression expr)
inlineprivate

Definition at line 2248 of file LightCompiler.cs.

2249 {
2251 {
2252 _guard.RunOnEmptyStack(delegate(LightCompiler @this, Expression e)
2253 {
2254 @this.CompileNoLabelPush(e);
2255 }, this, expr);
2256 return;
2257 }
2259 switch (expr.NodeType)
2260 {
2261 case ExpressionType.Add:
2262 case ExpressionType.AddChecked:
2263 case ExpressionType.And:
2264 case ExpressionType.ArrayIndex:
2265 case ExpressionType.Divide:
2266 case ExpressionType.Equal:
2267 case ExpressionType.ExclusiveOr:
2268 case ExpressionType.GreaterThan:
2269 case ExpressionType.GreaterThanOrEqual:
2270 case ExpressionType.LeftShift:
2271 case ExpressionType.LessThan:
2272 case ExpressionType.LessThanOrEqual:
2273 case ExpressionType.Modulo:
2274 case ExpressionType.Multiply:
2275 case ExpressionType.MultiplyChecked:
2276 case ExpressionType.NotEqual:
2277 case ExpressionType.Or:
2278 case ExpressionType.Power:
2279 case ExpressionType.RightShift:
2280 case ExpressionType.Subtract:
2281 case ExpressionType.SubtractChecked:
2283 break;
2284 case ExpressionType.AndAlso:
2286 break;
2287 case ExpressionType.OrElse:
2289 break;
2290 case ExpressionType.Coalesce:
2292 break;
2293 case ExpressionType.ArrayLength:
2294 case ExpressionType.Negate:
2295 case ExpressionType.UnaryPlus:
2296 case ExpressionType.NegateChecked:
2297 case ExpressionType.Not:
2298 case ExpressionType.TypeAs:
2299 case ExpressionType.Decrement:
2300 case ExpressionType.Increment:
2301 case ExpressionType.OnesComplement:
2302 case ExpressionType.IsTrue:
2303 case ExpressionType.IsFalse:
2305 break;
2306 case ExpressionType.Convert:
2307 case ExpressionType.ConvertChecked:
2309 break;
2310 case ExpressionType.Quote:
2312 break;
2313 case ExpressionType.Throw:
2314 CompileThrowUnaryExpression(expr, expr.Type == typeof(void));
2315 break;
2316 case ExpressionType.Unbox:
2318 break;
2319 case ExpressionType.Call:
2321 break;
2322 case ExpressionType.Conditional:
2323 CompileConditionalExpression(expr, expr.Type == typeof(void));
2324 break;
2325 case ExpressionType.Constant:
2327 break;
2328 case ExpressionType.Invoke:
2330 break;
2331 case ExpressionType.Lambda:
2333 break;
2334 case ExpressionType.ListInit:
2336 break;
2337 case ExpressionType.MemberAccess:
2339 break;
2340 case ExpressionType.MemberInit:
2342 break;
2343 case ExpressionType.New:
2345 break;
2346 case ExpressionType.NewArrayInit:
2347 case ExpressionType.NewArrayBounds:
2349 break;
2350 case ExpressionType.Parameter:
2352 break;
2353 case ExpressionType.TypeIs:
2355 break;
2356 case ExpressionType.TypeEqual:
2358 break;
2359 case ExpressionType.Assign:
2360 CompileAssignBinaryExpression(expr, expr.Type == typeof(void));
2361 break;
2362 case ExpressionType.Block:
2363 CompileBlockExpression(expr, expr.Type == typeof(void));
2364 break;
2365 case ExpressionType.DebugInfo:
2367 break;
2368 case ExpressionType.Default:
2370 break;
2371 case ExpressionType.Goto:
2373 break;
2374 case ExpressionType.Index:
2376 break;
2377 case ExpressionType.Label:
2379 break;
2380 case ExpressionType.RuntimeVariables:
2382 break;
2383 case ExpressionType.Loop:
2385 break;
2386 case ExpressionType.Switch:
2388 break;
2389 case ExpressionType.Try:
2391 break;
2392 default:
2393 Compile(expr.ReduceAndCheck());
2394 break;
2395 }
2396 }
void CompileThrowUnaryExpression(Expression expr, bool asVoid)
void CompileBlockExpression(Expression expr, bool asVoid)
void Compile(Expression expr, bool asVoid)
void CompileConditionalExpression(Expression expr, bool asVoid)
void CompileAssignBinaryExpression(Expression expr, bool asVoid)

References System.Linq.Expressions.Interpreter.LightCompiler._guard, System.Linq.Expressions.Interpreter.LightCompiler._instructions, System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.LightCompiler.CompileAndAlsoBinaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileAssignBinaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileBinaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileBlockExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileCoalesceBinaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileConditionalExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileConstantExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileConvertUnaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileDebugInfoExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileDefaultExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileGotoExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileIndexExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileInvocationExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileLabelExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileLambdaExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileListInitExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileLoopExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileMemberExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileMemberInitExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileMethodCallExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileNewArrayExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileNewExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileNoLabelPush(), System.Linq.Expressions.Interpreter.LightCompiler.CompileOrElseBinaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileParameterExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileQuoteUnaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileRuntimeVariablesExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileSwitchExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileThrowUnaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileTryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileTypeEqualExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileTypeIsExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileUnaryExpression(), System.Linq.Expressions.Interpreter.LightCompiler.CompileUnboxUnaryExpression(), System.Linq.Expressions.Interpreter.InstructionList.CurrentStackDepth, System.Linq.Expressions.Expression< TDelegate >.NodeType, System.Linq.Expressions.Expression< TDelegate >.ReduceAndCheck(), System.Linq.Expressions.StackGuard.TryEnterOnCurrentStack(), and System.Linq.Expressions.Expression< TDelegate >.Type.

Referenced by System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.LightCompiler.CompileAsVoid(), and System.Linq.Expressions.Interpreter.LightCompiler.CompileNoLabelPush().