* Updated to r46640.
svn path=/trunk/mcs/; revision=154868
+2010-04-06 Marek Safar <marek.safar@gmail.com>
+
+ * Updated to r46640.
+
2009-11-26 Marek Safar <marek.safar@gmail.com>
* Updated to r35702.
<DebugType>pdbonly</DebugType>\r
<BinPlaceSymbols>false</BinPlaceSymbols> \r
<WarningLevel>4</WarningLevel>\r
- <TreatWarningsAsErrors>true</TreatWarningsAsErrors>\r
+ <TreatWarningsAsErrors>false</TreatWarningsAsErrors>\r
<RunCodeAnalysis>false</RunCodeAnalysis>\r
<GenerateAssemblyAttribute>false</GenerateAssemblyAttribute>\r
-<OutputPath>$(SolutionDir)\..\Bin\40\</OutputPath>\r
-<AssemblyOriginatorKeyFile>$(SolutionDir)\Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>\r
+<OutputPath>$(SolutionDir)..\Bin\40\</OutputPath>\r
+<AssemblyOriginatorKeyFile>$(SolutionDir)Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>\r
<SignAssembly Condition="'$(SignAssembly)' == '' And Exists('$(AssemblyOriginatorKeyFile)')">true</SignAssembly>\r
<SignedSym Condition="'$(SignAssembly)' == 'true'">SIGNED</SignedSym>\r
<DelaySign>true</DelaySign>\r
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
- <OutputPath>$(SolutionDir)\..\Bin\40\</OutputPath>
- <DefineConstants>DEBUG;TRACE;CODEPLEX_40;SYSTEM_CORE</DefineConstants>
+ <OutputPath>$(SolutionDir)..\Bin\40\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;CODEPLEX_40;CLR4;SYSTEM_CORE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
- <OutputPath>$(SolutionDir)\..\Bin\40\</OutputPath>
- <DefineConstants>TRACE;CODEPLEX_40;SYSTEM_CORE</DefineConstants>
+ <OutputPath>$(SolutionDir)..\Bin\40\</OutputPath>
+ <DefineConstants>TRACE;CODEPLEX_40;CLR4;SYSTEM_CORE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>\r
<Reference Include="System.Runtime.Remoting" Condition=" $(SilverlightBuild) != 'true' " />\r
<Reference Include="System.Xml" Condition=" $(SilverlightBuild) != 'true' " />\r
<ProjectReference Include="..\Microsoft.Scripting\Microsoft.Scripting.Build.csproj">\r
+ <Project>{EB66B766-6354-4208-A3D4-AACBDCB5C3B3}</Project>\r
<Name>Microsoft.Scripting</Name>\r
</ProjectReference>\r
</ItemGroup>\r
<Compile Include="Actions\ActionBinder.cs" />\r
<Compile Include="Actions\Argument.cs" />\r
<Compile Include="Actions\ArgumentType.cs" />\r
- <Compile Include="Actions\BinderHelpers.cs" />\r
<Compile Include="Actions\BoundMemberTracker.cs" />\r
<Compile Include="Actions\CallSignature.cs" />\r
<Compile Include="Actions\ComboActionRewriter.cs" />\r
<Compile Include="Actions\Calls\MethodCandidate.cs" />\r
<Compile Include="Actions\Calls\NarrowingLevel.cs" />\r
<Compile Include="Actions\Calls\OutArgBuilder.cs" />\r
+ <Compile Include="Actions\Calls\OverloadInfo.cs" />\r
<Compile Include="Actions\Calls\OverloadResolver.cs" />\r
<Compile Include="Actions\Calls\OverloadResolverFactory.cs" />\r
<Compile Include="Actions\Calls\ParameterMapping.cs" />\r
<!-- -->\r
<Compile Include="Ast\BinaryExpression.cs" />\r
<Compile Include="Ast\Block.cs" />\r
+ <Compile Include="Ast\BlockBuilder.cs" />\r
<Compile Include="Ast\ConstantExpression.cs" />\r
<Compile Include="Ast\DebugStatement.cs" />\r
<Compile Include="Ast\EmptyStatements.cs" />\r
+ <Compile Include="Ast\ExpressionCollectionBuilder.cs" />\r
<Compile Include="Ast\FinallyFlowControlExpression.cs" />\r
<Compile Include="Ast\FlowControlRewriter.cs" />\r
<Compile Include="Ast\GeneratorExpression.cs" />\r
<Compile Include="Ast\IfStatementTest.cs" />\r
<Compile Include="Ast\LambdaBuilder.cs" />\r
<Compile Include="Ast\LambdaParameterRewriter.cs" />\r
+ <Compile Include="Ast\LightDynamicExpression.cs" />\r
<Compile Include="Ast\LoopStatement.cs" />\r
<Compile Include="Ast\MethodCallExpression.cs" />\r
<Compile Include="Ast\NewArrayExpression.cs" />\r
<Compile Include="Ast\SymbolConstantExpression.cs" />\r
<Compile Include="Ast\TryStatementBuilder.cs" />\r
<Compile Include="Ast\UnaryExpression.cs" />\r
+ <Compile Include="Ast\Utils.cs" />\r
<Compile Include="Ast\VariableDictionaryExpression.cs" />\r
<Compile Include="Ast\YieldExpression.cs" />\r
</ItemGroup>\r
<Compile Include="Generation\ILGen.cs" />\r
<Compile Include="Generation\KeyedQueue.cs" />\r
<Compile Include="Generation\MethodSignatureInfo.cs" />\r
- <Compile Include="Generation\ParameterInfoWrapper.cs" />\r
<Compile Include="Generation\Snippets.cs" />\r
<Compile Include="Generation\ToDiskRewriter.cs" />\r
<Compile Include="Generation\TypeGen.cs" />\r
<!-- Interpreter -->\r
<!-- -->\r
<Compile Include="Interpreter\BranchLabel.cs" />\r
+ <Compile Include="Interpreter\ILightCallSiteBinder.cs" />\r
<Compile Include="Interpreter\InterpretedFrame.cs" />\r
<Compile Include="Interpreter\Interpreter.cs" />\r
<Compile Include="Interpreter\LastFaultingLineExpression.cs" />\r
<Compile Include="Interpreter\LightLambda.cs" />\r
<Compile Include="Interpreter\LightLambda.Generated.cs" />\r
<Compile Include="Interpreter\LightLambdaClosureVisitor.cs" />\r
+ <Compile Include="Interpreter\LocalVariables.cs" />\r
+ <Compile Include="Interpreter\LoopCompiler.cs" />\r
<Compile Include="Interpreter\RuntimeVariables.cs" />\r
</ItemGroup>\r
<ItemGroup>\r
<Compile Include="Interpreter\Instructions\CallInstruction.cs" />\r
<Compile Include="Interpreter\Instructions\CallInstruction.Generated.cs" />\r
<Compile Include="Interpreter\Instructions\ControlFlowInstructions.cs" />\r
+ <Compile Include="Interpreter\Instructions\DivInstruction.cs" />\r
<Compile Include="Interpreter\Instructions\DynamicInstructionN.cs" />\r
<Compile Include="Interpreter\Instructions\DynamicInstructions.Generated.cs" />\r
+ <Compile Include="Interpreter\Instructions\DynamicSplatInstruction.cs" />\r
<Compile Include="Interpreter\Instructions\EqualInstruction.cs" />\r
<Compile Include="Interpreter\Instructions\FieldOperations.cs" />\r
<Compile Include="Interpreter\Instructions\GreaterThanInstruction.cs" />\r
<!-- Runtime -->\r
<!-- -->\r
<Compile Include="Runtime\AmbiguousFileNameException.cs" />\r
+ <Compile Include="Runtime\ArgumentArray.cs" />\r
<Compile Include="Runtime\AssemblyTypeNames.cs" />\r
<Compile Include="Runtime\BaseSymbolDictionary.cs" />\r
<Compile Include="Runtime\BinderOps.cs" />\r
<Compile Include="Runtime\CodeDomCodeGen.cs" />\r
<Compile Include="Runtime\CompilerContext.cs" />\r
<Compile Include="Runtime\CustomSymbolDictionary.cs" />\r
- <Compile Include="Runtime\DefaultLanguageContext.cs" />\r
<Compile Include="Runtime\DelegateInfo.cs" />\r
<Compile Include="Runtime\DelegateSignatureInfo.cs" />\r
<Compile Include="Runtime\DlrCachedCodeAttribute.cs" />\r
<Compile Include="Runtime\DynamicDelegateCreator.cs" />\r
<Compile Include="Runtime\DynamicLanguageProviderAttribute.cs" />\r
<Compile Include="Runtime\DynamicNull.cs" />\r
- <Compile Include="Runtime\DynamicRuntimeHostingProvider.cs" />\r
<Compile Include="Runtime\DynamicStackFrame.cs" />\r
<Compile Include="Runtime\ExceptionHelpers.cs" />\r
<Compile Include="Runtime\ExplicitConversionMethodAttribute.cs" />\r
<Compile Include="Utils\SynchronizedDictionary.cs" />\r
<Compile Include="Utils\TextStream.cs" />\r
<Compile Include="Utils\ThreadLocal.cs" />\r
- <Compile Include="Utils\TypeExtensions.cs" />\r
<Compile Include="Utils\TypeUtils.cs" />\r
<Compile Include="Utils\ValueArray.cs" />\r
<Compile Include="Utils\WeakCollection.cs" />\r
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
- <OutputPath>$(SolutionDir)\..\Bin\40\</OutputPath>
- <DefineConstants>DEBUG;TRACE;CODEPLEX_40;SYSTEM_CORE</DefineConstants>
+ <OutputPath>$(SolutionDir)..\Bin\40\</OutputPath>
+ <DefineConstants>DEBUG;TRACE;CODEPLEX_40;CLR4;SYSTEM_CORE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
- <OutputPath>$(SolutionDir)\..\Bin\40\</OutputPath>
- <DefineConstants>TRACE;CODEPLEX_40;SYSTEM_CORE</DefineConstants>
+ <OutputPath>$(SolutionDir)..\Bin\40\</OutputPath>
+ <DefineConstants>TRACE;CODEPLEX_40;CLR4;SYSTEM_CORE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>\r
<AssemblyName>Microsoft.Dynamic</AssemblyName>
<WarningsNotAsErrors>1685,618,649</WarningsNotAsErrors>
<NoWarn>1591</NoWarn>
-<AssemblyOriginatorKeyFile>$(SolutionDir)\Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
+<AssemblyOriginatorKeyFile>$(SolutionDir)Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
<SignAssembly Condition="'$(SignAssembly)' == '' And Exists('$(AssemblyOriginatorKeyFile)')">true</SignAssembly>
<SignedSym Condition="'$(SignAssembly)' == 'true'">SIGNED</SignedSym>
<DelaySign>true</DelaySign>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'FxCop|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\fxcop\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\fxcop\</OutputPath>
<DefineConstants>TRACE;CLR2;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Debug\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Dynamic.xml</DocumentationFile>
<DefineConstants>DEBUG;TRACE;CLR2;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Release\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Dynamic.xml</DocumentationFile>
<DefineConstants>TRACE;CLR2;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;SILVERLIGHT;CLR2;$(SignedSym)</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
<SilverlightPath Condition="'$(SilverlightPath)' == ''">$(Silverlight3Path)</SilverlightPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Release|AnyCPU' ">
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Release\</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;CLR2;$(SignedSym)</DefineConstants>
<DocumentationFile>$(OutputPath)\Microsoft.Dynamic.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\V4 Debug\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Dynamic.xml</DocumentationFile>
<DefineConstants>DEBUG;TRACE;CLR4;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'V4 Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\V4 Release\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Dynamic.xml</DocumentationFile>
<DefineConstants>TRACE;CLR4;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;SILVERLIGHT;CLR4;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<PlatformTarget>AnyCPU</PlatformTarget>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Release\</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;CLR4;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Compile Include="Actions\Calls\MethodCandidate.cs" />
<Compile Include="Actions\Calls\NarrowingLevel.cs" />
<Compile Include="Actions\Calls\OutArgBuilder.cs" />
+ <Compile Include="Actions\Calls\OverloadInfo.cs" />
<Compile Include="Actions\Calls\OverloadResolver.cs" />
<Compile Include="Actions\Calls\OverloadResolverFactory.cs" />
<Compile Include="Actions\Calls\ParameterMapping.cs" />
<Compile Include="Actions\MemberRequestKind.cs" />
<Compile Include="Actions\OperationBinder.cs" />
<Compile Include="Actions\OperationMetaObject.cs" />
+ <Compile Include="Ast\BlockBuilder.cs" />
+ <Compile Include="Ast\ExpressionCollectionBuilder.cs" />
<Compile Include="Ast\FinallyFlowControlExpression.cs" />
<Compile Include="Ast\FlowControlRewriter.cs" />
<Compile Include="Ast\SourceFileInformation.cs" />
<Compile Include="Ast\SkipInterpretExpression.cs" />
+ <Compile Include="Ast\LightDynamicExpression.cs" />
+ <Compile Include="Ast\Utils.cs" />
<Compile Include="Ast\VariableDictionaryExpression.cs" />
<Compile Include="Ast\NewArrayExpression.cs" />
<Compile Include="Ast\NewExpression.cs" />
<Compile Include="Interpreter\Instructions\CallInstruction.cs" />
<Compile Include="Interpreter\Instructions\CallInstruction.Generated.cs" />
<Compile Include="Interpreter\Instructions\ControlFlowInstructions.cs" />
+ <Compile Include="Interpreter\Instructions\DivInstruction.cs" />
+ <Compile Include="Interpreter\Instructions\DynamicSplatInstruction.cs" />
<Compile Include="Interpreter\Instructions\EqualInstruction.cs" />
<Compile Include="Interpreter\Instructions\FieldOperations.cs" />
<Compile Include="Interpreter\Instructions\GreaterThanInstruction.cs" />
<Compile Include="Interpreter\Instructions\NumericConvertInstruction.cs" />
<Compile Include="Interpreter\Instructions\StackOperations.cs" />
<Compile Include="Interpreter\Instructions\TypeOperations.cs" />
+ <Compile Include="Interpreter\ILightCallSiteBinder.cs" />
<Compile Include="Interpreter\LightDelegateCreator.cs" />
<Compile Include="Interpreter\LightLambda.Generated.cs" />
<Compile Include="Interpreter\Interpreter.cs" />
<Compile Include="Interpreter\LightLambda.cs" />
<Compile Include="Interpreter\Instructions\Instruction.cs" />
<Compile Include="Interpreter\LightCompiler.cs" />
+ <Compile Include="Interpreter\LocalVariables.cs" />
+ <Compile Include="Interpreter\LoopCompiler.cs" />
<Compile Include="Interpreter\RuntimeVariables.cs" />
<Compile Include="Interpreter\InterpretedFrame.cs" />
<Compile Include="Interpreter\LastFaultingLineExpression.cs" />
<Compile Include="Math\BigIntegerV2.cs" />
<Compile Include="Math\BigIntegerV4.cs" />
+ <Compile Include="Runtime\ArgumentArray.cs" />
<Compile Include="Runtime\BindingRestrictionsHelpers.cs" />
<Compile Include="Runtime\DynamicDelegateCreator.cs" />
<Compile Include="Runtime\DynamicNull.cs" />
<Compile Include="Generation\KeyedQueue.cs" />
<Compile Include="Generation\Snippets.cs" />
<Compile Include="Generation\TypeGen.cs" />
- <Compile Include="Actions\BinderHelpers.cs" />
<Compile Include="Actions\ComboActionRewriter.cs" />
<Compile Include="Actions\ComboBinder.cs" />
<Compile Include="Actions\ConditionalBuilder.cs" />
<Compile Include="Runtime\Cast.Generated.cs" />
<Compile Include="Runtime\Cast.cs" />
<Compile Include="Runtime\CodeDomCodeGen.cs" />
- <Compile Include="Runtime\DefaultLanguageContext.cs" />
<Compile Include="Runtime\DelegateInfo.cs" />
<Compile Include="Runtime\DelegateSignatureInfo.cs" />
<Compile Include="Runtime\ISlice.cs" />
<Compile Include="Utils\HashSet.cs" />
<Compile Include="Utils\SynchronizedDictionary.cs" />
<Compile Include="Utils\ThreadLocal.cs" />
- <Compile Include="Utils\TypeExtensions.cs" />
<Compile Include="Utils\TypeUtils.cs" />
<Compile Include="Utils\ValueArray.cs" />
<Compile Include="Utils\WeakCollection.cs" />
<Compile Include="Ast\IfStatementTest.cs" />
<Compile Include="Generation\CompilerHelpers.cs" />
<Compile Include="Generation\IExpressionSerializable.cs" />
- <Compile Include="Generation\ParameterInfoWrapper.cs" />
<Compile Include="Generation\ToDiskRewriter.cs" />
<Compile Include="Runtime\AssemblyTypeNames.cs" />
<Compile Include="Runtime\BaseSymbolDictionary.cs" />
<Compile Include="Runtime\CustomSymbolDictionary.cs" />
<Compile Include="Runtime\DlrCachedCodeAttribute.cs" />
<Compile Include="Runtime\DocumentationAttribute.cs" />
- <Compile Include="Runtime\DynamicRuntimeHostingProvider.cs" />
- <Compile Include="Runtime\DynamicStackFrame.cs" />
<Compile Include="Runtime\ExceptionHelpers.cs" />
<Compile Include="Runtime\ExplicitConversionMethodAttribute.cs" />
<Compile Include="Runtime\Extensible.cs" />
</ItemGroup>
<ItemGroup Condition=" '$(SilverlightBuild)' != 'true' ">
<Reference Include="System" />
+ <Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Numerics" Condition=" '$(TargetFrameworkVersion)' == 'v4.0' " />
<Reference Include="System.Core" Condition=" '$(TargetFrameworkVersion)' == 'v4.0' " />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Runtime.Remoting" />
</ItemGroup>
<ItemGroup Condition=" '$(SilverlightBuild)' == 'true' ">
<Reference Include="mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e">
<SpecificVersion>False</SpecificVersion>
<HintPath>$(SilverlightPath)\System.Core.dll</HintPath>
</Reference>
+ <Reference Include="System.Numerics, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Condition="'$(TargetFrameworkVersion)' == 'v4.0' ">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>$(SilverlightPath)\System.Numerics.dll</HintPath>
+ </Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Microsoft.Scripting.Core\Microsoft.Scripting.Core.csproj" Condition="'$(TargetFrameworkVersion)' != 'v4.0'">
<Project>{02FF0909-F5AD-48CF-A86A-345E721B7E40}</Project>
<Name>Microsoft.Scripting</Name>
</ProjectReference>
- <Reference Include="System.Data" />
- <Reference Include="System.Runtime.Remoting" Condition=" '$(SilverlightBuild)' != 'true' " />
- <Reference Include="System.Xml" Condition=" '$(SilverlightBuild)' != 'true' " />
- <Reference Include="System.Numerics" Condition="'$(TargetFrameworkVersion)' == 'v4.0'" />
</ItemGroup>
<ItemGroup>
<Content Include="Microsoft.Scripting.txt" />
#endif
#if !SILVERLIGHT
-[assembly: AssemblyVersion("0.9.6.20")]
-[assembly: AssemblyFileVersion("1.0.0.00")]
-[assembly: AssemblyInformationalVersion("1.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.1.00")]
+[assembly: AssemblyInformationalVersion("1.0.1")]
[assembly: AllowPartiallyTrustedCallers]
-#if CODEPLEX_40
-[assembly: SecurityRules(SecurityRuleSet.Level1)]
-#endif
+[assembly: TypeForwardedTo(typeof(Microsoft.Scripting.Runtime.DynamicStackFrame))]
#endif
+
}
public override DynamicMetaObject BindInvokeMember(InvokeMemberBinder binder, DynamicMetaObject[] args) {
- if (IsOverridden("TryInvokeMember")) {
- return CallMethodWithResult("TryInvokeMember", binder, GetArgArray(args), (e) => binder.FallbackInvokeMember(this, args, e));
- } else if (IsOverridden("TryGetMember")) {
- // Generate a tree like:
- //
- // {
- // object result;
- // TryGetMember(payload, out result) ? FallbackInvoke(result) : fallbackResult
- // }
- //
- // Then it calls FallbackInvokeMember with this tree as the
- // "error", giving the language the option of using this
- // tree or doing .NET binding.
- //
- return CallMethodWithResult(
- "TryGetMember", new GetBinderAdapter(binder), NoArgs,
- (e) => binder.FallbackInvokeMember(this, args, e),
+ // Generate a tree like:
+ //
+ // {
+ // object result;
+ // TryInvokeMember(payload, out result)
+ // ? result
+ // : TryGetMember(payload, out result)
+ // ? FallbackInvoke(result)
+ // : fallbackResult
+ // }
+ //
+ // Then it calls FallbackInvokeMember with this tree as the
+ // "error", giving the language the option of using this
+ // tree or doing .NET binding.
+ //
+ Fallback fallback = e => binder.FallbackInvokeMember(this, args, e);
+
+ var call = BuildCallMethodWithResult(
+ "TryInvokeMember",
+ binder,
+ GetArgArray(args),
+ BuildCallMethodWithResult(
+ "TryGetMember",
+ new GetBinderAdapter(binder),
+ NoArgs,
+ fallback(null),
(e) => binder.FallbackInvoke(e, args, null)
- );
- }
+ ),
+ null
+ );
- return base.BindInvokeMember(binder, args);
+ return fallback(call);
}
//
DynamicMetaObject fallbackResult = fallback(null);
+ var callDynamic = BuildCallMethodWithResult(methodName, binder, args, fallbackResult, fallbackInvoke);
+
+ //
+ // Now, call fallback again using our new MO as the error
+ // When we do this, one of two things can happen:
+ // 1. Binding will succeed, and it will ignore our call to
+ // the dynamic method, OR
+ // 2. Binding will fail, and it will use the MO we created
+ // above.
+ //
+ return fallback(callDynamic);
+ }
+
+ private DynamicMetaObject BuildCallMethodWithResult(string methodName, DynamicMetaObjectBinder binder, Expression[] args, DynamicMetaObject fallbackResult, Fallback fallbackInvoke) {
+ if (!IsOverridden(methodName)) {
+ return fallbackResult;
+ }
+
//
// Build a new expression like:
// {
),
GetRestrictions().Merge(resultMO.Restrictions).Merge(fallbackResult.Restrictions)
);
-
- //
- // Now, call fallback again using our new MO as the error
- // When we do this, one of two things can happen:
- // 1. Binding will succeed, and it will ignore our call to
- // the dynamic method, OR
- // 2. Binding will fail, and it will use the MO we created
- // above.
- //
- return fallback(callDynamic);
+ return callDynamic;
}
--- /dev/null
+/* ****************************************************************************
+ *
+ * Copyright (c) Microsoft Corporation.
+ *
+ * This source code is subject to terms and conditions of the Microsoft Public License. A
+ * copy of the license can be found in the License.html file at the root of this distribution. If
+ * you cannot locate the Microsoft Public License, please send an email to
+ * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
+ * by the terms of the Microsoft Public License.
+ *
+ * You must not remove this notice, or any other, from this software.
+ *
+ *
+ * ***************************************************************************/
+
+namespace System.Dynamic {
+ /// <summary>
+ /// Represents information about a dynamic get member operation, indicating
+ /// if the get member should invoke properties when performing the get.
+ /// </summary>
+ public interface IInvokeOnGetBinder {
+ /// <summary>
+ /// Gets the value indicating if this GetMember should invoke properties
+ /// when performing the get. The default value when this interface is not present
+ /// is true.
+ /// </summary>
+ /// <remarks>
+ /// This property is used by some languages to get a better COM interop experience.
+ /// When the value is set to false, the dynamic COM object won't invoke the object
+ /// but will instead bind to the name, and return an object that can be invoked or
+ /// indexed later. This is useful for indexed properties and languages that don't
+ /// produce InvokeMember call sites.
+ /// </remarks>
+ bool InvokeOnGet { get; }
+ }
+}
if (source.IsInterface || dest.IsInterface) {
return true;
}
+ // Variant delegate conversion
+ if (IsLegalExplicitVariantDelegateConversion(source, dest))
+ return true;
+
// Object conversion
if (source == typeof(object) || dest == typeof(object)) {
return true;
return false;
}
+ private static bool IsCovariant(Type t)
+ {
+ Debug.Assert(t != null);
+ return 0 != (t.GenericParameterAttributes & GenericParameterAttributes.Covariant);
+ }
+
+ private static bool IsContravariant(Type t)
+ {
+ Debug.Assert(t != null);
+ return 0 != (t.GenericParameterAttributes & GenericParameterAttributes.Contravariant);
+ }
+
+ private static bool IsInvariant(Type t)
+ {
+ Debug.Assert(t != null);
+ return 0 == (t.GenericParameterAttributes & GenericParameterAttributes.VarianceMask);
+ }
+
+ private static bool IsDelegate(Type t)
+ {
+ Debug.Assert(t != null);
+ return t.IsSubclassOf(typeof(System.Delegate));
+ }
+
+ internal static bool IsLegalExplicitVariantDelegateConversion(Type source, Type dest)
+ {
+ Debug.Assert(source != null && dest != null);
+
+ // There *might* be a legal conversion from a generic delegate type S to generic delegate type T,
+ // provided all of the follow are true:
+ // o Both types are constructed generic types of the same generic delegate type, D<X1,... Xk>.
+ // That is, S = D<S1...>, T = D<T1...>.
+ // o If type parameter Xi is declared to be invariant then Si must be identical to Ti.
+ // o If type parameter Xi is declared to be covariant ("out") then Si must be convertible
+ // to Ti via an identify conversion, implicit reference conversion, or explicit reference conversion.
+ // o If type parameter Xi is declared to be contravariant ("in") then either Si must be identical to Ti,
+ // or Si and Ti must both be reference types.
+
+ if (!IsDelegate(source) || !IsDelegate(dest) || !source.IsGenericType || !dest.IsGenericType)
+ return false;
+
+ Type genericDelegate = source.GetGenericTypeDefinition();
+
+ if (dest.GetGenericTypeDefinition() != genericDelegate)
+ return false;
+
+ Type[] genericParameters = genericDelegate.GetGenericArguments();
+ Type[] sourceArguments = source.GetGenericArguments();
+ Type[] destArguments = dest.GetGenericArguments();
+
+ Debug.Assert(genericParameters != null);
+ Debug.Assert(sourceArguments != null);
+ Debug.Assert(destArguments != null);
+ Debug.Assert(genericParameters.Length == sourceArguments.Length);
+ Debug.Assert(genericParameters.Length == destArguments.Length);
+
+ for (int iParam = 0; iParam < genericParameters.Length; ++iParam)
+ {
+ Type sourceArgument = sourceArguments[iParam];
+ Type destArgument = destArguments[iParam];
+
+ Debug.Assert(sourceArgument != null && destArgument != null);
+
+ // If the arguments are identical then this one is automatically good, so skip it.
+ if (AreEquivalent(sourceArgument, destArgument))
+ {
+ continue;
+ }
+
+ Type genericParameter = genericParameters[iParam];
+
+ Debug.Assert(genericParameter != null);
+
+ if (IsInvariant(genericParameter))
+ {
+ return false;
+ }
+
+ if (IsCovariant(genericParameter))
+ {
+ if (!HasReferenceConversion(sourceArgument, destArgument))
+ {
+ return false;
+ }
+ }
+ else if (IsContravariant(genericParameter))
+ {
+ if (sourceArgument.IsValueType || destArgument.IsValueType)
+ {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
internal static bool IsConvertible(Type type) {
type = GetNonNullableType(type);
if (type.IsEnum) {
internal static class ConstantCheck {
internal static bool IsNull(Expression e) {
- switch (e.NodeType) {
- case ExpressionType.Constant:
- return ((ConstantExpression)e).Value == null;
-
- case ExpressionType.TypeAs:
- var typeAs = (UnaryExpression)e;
- // if the TypeAs check is guarenteed to fail, then its result will be null
- return AnalyzeTypeIs(typeAs) == AnalyzeTypeIsResult.KnownFalse;
+ if (e.NodeType == ExpressionType.Constant) {
+ return ((ConstantExpression)e).Value == null;
}
return false;
}
return AnalyzeTypeIs(typeIs.Expression, typeIs.TypeOperand);
}
- /// <summary>
- /// If the result of a unary TypeAs expression is known statically, this
- /// returns the result, otherwise it returns null, meaning we'll need
- /// to perform the IsInst instruction at runtime.
- ///
- /// The result of this function must be equivalent to IsInst, or
- /// null.
- /// </summary>
- internal static AnalyzeTypeIsResult AnalyzeTypeIs(UnaryExpression typeAs) {
- Debug.Assert(typeAs.NodeType == ExpressionType.TypeAs);
- return AnalyzeTypeIs(typeAs.Operand, typeAs.Type);
- }
-
/// <summary>
/// If the result of an isinst opcode is known statically, this
/// returns the result, otherwise it returns null, meaning we'll need
return AnalyzeTypeIsResult.KnownAssignable;
}
- //
- // If we couldn't statically assign and the type is sealed, no
- // value at runtime can make isinst succeed
- //
- if (nnOperandType.IsSealed) {
- return AnalyzeTypeIsResult.KnownFalse;
- }
+ // We used to have an if IsSealed, return KnownFalse check here.
+ // but that doesn't handle generic types & co/contravariance correctly.
+ // So just use IsInst, which we know always gives us the right answer.
// Otherwise we need a full runtime check
return AnalyzeTypeIsResult.Unknown;
if (typeFrom.IsInterface || // interface cast
typeTo.IsInterface ||
typeFrom == typeof(object) || // boxing cast
- typeTo == typeof(object)) {
+ typeTo == typeof(object) ||
+ TypeUtils.IsLegalExplicitVariantDelegateConversion(typeFrom, typeTo))
+ {
il.EmitCastToType(typeFrom, typeTo);
} else if (isTypeFromNullable || isTypeToNullable) {
il.EmitNullableConversion(typeFrom, typeTo, isChecked);
} else {
TypeCode tc = Type.GetTypeCode(typeTo);
if (isChecked) {
+ // Overflow checking needs to know if the source value on the IL stack is unsigned or not.
if (isFromUnsigned) {
switch (tc) {
case TypeCode.SByte:
}
}
} else {
- if (isFromUnsigned) {
- switch (tc) {
- case TypeCode.SByte:
- case TypeCode.Byte:
- il.Emit(OpCodes.Conv_U1);
- break;
- case TypeCode.Int16:
- case TypeCode.UInt16:
- case TypeCode.Char:
- il.Emit(OpCodes.Conv_U2);
- break;
- case TypeCode.Int32:
- case TypeCode.UInt32:
- il.Emit(OpCodes.Conv_U4);
- break;
- case TypeCode.Int64:
- case TypeCode.UInt64:
+ switch (tc) {
+ case TypeCode.SByte:
+ il.Emit(OpCodes.Conv_I1);
+ break;
+ case TypeCode.Byte:
+ il.Emit(OpCodes.Conv_U1);
+ break;
+ case TypeCode.Int16:
+ il.Emit(OpCodes.Conv_I2);
+ break;
+ case TypeCode.UInt16:
+ case TypeCode.Char:
+ il.Emit(OpCodes.Conv_U2);
+ break;
+ case TypeCode.Int32:
+ il.Emit(OpCodes.Conv_I4);
+ break;
+ case TypeCode.UInt32:
+ il.Emit(OpCodes.Conv_U4);
+ break;
+ case TypeCode.Int64:
+ if (isFromUnsigned) {
il.Emit(OpCodes.Conv_U8);
- break;
- default:
- throw Error.UnhandledConvert(typeTo);
- }
- } else {
- switch (tc) {
- case TypeCode.SByte:
- case TypeCode.Byte:
- il.Emit(OpCodes.Conv_I1);
- break;
- case TypeCode.Int16:
- case TypeCode.UInt16:
- case TypeCode.Char:
- il.Emit(OpCodes.Conv_I2);
- break;
- case TypeCode.Int32:
- case TypeCode.UInt32:
- il.Emit(OpCodes.Conv_I4);
- break;
- case TypeCode.Int64:
- case TypeCode.UInt64:
+ } else {
il.Emit(OpCodes.Conv_I8);
- break;
- default:
- throw Error.UnhandledConvert(typeTo);
- }
+ }
+ break;
+ case TypeCode.UInt64:
+ if (isFromUnsigned || isFromFloatingPoint) {
+ il.Emit(OpCodes.Conv_U8);
+ } else {
+ il.Emit(OpCodes.Conv_I8);
+ }
+ break;
+ default:
+ throw Error.UnhandledConvert(typeTo);
}
}
}
}
-
private static void EmitNullableToNullableConversion(this ILGenerator il, Type typeFrom, Type typeTo, bool isChecked) {
Debug.Assert(TypeUtils.IsNullableType(typeFrom));
Debug.Assert(TypeUtils.IsNullableType(typeTo));
<AssemblyName>Microsoft.Scripting.Core</AssemblyName>
<DocumentationFile>$(OutputPath)\Microsoft.Scripting.Core.XML</DocumentationFile>
<NoWarn>1591</NoWarn>
-<AssemblyOriginatorKeyFile>$(SolutionDir)\Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
+<AssemblyOriginatorKeyFile>$(SolutionDir)Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
<SignAssembly Condition="'$(SignAssembly)' == '' And Exists('$(AssemblyOriginatorKeyFile)')">true</SignAssembly>
<SignedSym Condition="'$(SignAssembly)' == 'true'">SIGNED</SignedSym>
<DelaySign>true</DelaySign>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'FxCop|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\fxcop\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\fxcop\</OutputPath>
<DefineConstants>TRACE;$(SignedSym);CLR2</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Debug\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Scripting.Core.xml</DocumentationFile>
<DefineConstants>DEBUG;TRACE;$(SignedSym);CLR2</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Release\</OutputPath>
<DocumentationFile>$(OutputPath)\Microsoft.Scripting.Core.xml</DocumentationFile>
<DefineConstants>TRACE;$(SignedSym);CLR2</DefineConstants>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;SILVERLIGHT;CLR2</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
<SilverlightBuild>true</SilverlightBuild>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Release|AnyCPU' ">
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Release\</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;CLR2</DefineConstants>
<DocumentationFile>$(OutputPath)\Microsoft.Scripting.Core.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</Compile>
<Compile Include="Actions\CallInfo.cs" />
<Compile Include="Actions\CallSiteOps.cs" />
+ <Compile Include="Actions\IInvokeOnGetBinder.cs" />
<Compile Include="Actions\InvokeMemberBinder.cs" />
<Compile Include="Actions\BinaryOperationBinder.cs" />
<Compile Include="Actions\CallSite.cs" />
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Microsoft.Scripting.ExtensionAttribute</RootNamespace>
<AssemblyName>Microsoft.Scripting.ExtensionAttribute</AssemblyName>
-<AssemblyOriginatorKeyFile>$(SolutionDir)\Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
+<AssemblyOriginatorKeyFile>$(SolutionDir)Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
<SignAssembly Condition="'$(SignAssembly)' == '' And Exists('$(AssemblyOriginatorKeyFile)')">true</SignAssembly>
<SignedSym Condition="'$(SignAssembly)' == 'true'">SIGNED</SignedSym>
<DelaySign>true</DelaySign>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'FxCop|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\fxcop\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\fxcop\</OutputPath>
<DefineConstants>TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Release\</OutputPath>
<DefineConstants>TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;SILVERLIGHT</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
<SilverlightBuild>true</SilverlightBuild>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Release|AnyCPU' ">
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Release\</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<NoWarn>1591,618</NoWarn>
[assembly: System.Resources.NeutralResourcesLanguage("en-US")]
#if !SILVERLIGHT
-[assembly: AssemblyVersion("0.9.6.20")]
-[assembly: AssemblyFileVersion("1.0.0.00")]
-[assembly: AssemblyInformationalVersion("1.0")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.1.00")]
+[assembly: AssemblyInformationalVersion("1.0.1")]
[assembly: AllowPartiallyTrustedCallers]
-#if CODEPLEX_40
-[assembly: SecurityRules(SecurityRuleSet.Level1)]
-#endif
#endif
\r
#if !SILVERLIGHT\r
[assembly: AssemblyVersion("2.0.0.0")] // shouldn't change, this assembly is unchanged. This is the version it originally shipped as.\r
-[assembly: AssemblyFileVersion("1.0.0.00")]\r
-[assembly: AssemblyInformationalVersion("1.0")]\r
-[assembly: AllowPartiallyTrustedCallers]
-#if CODEPLEX_40
-[assembly: SecurityRules(SecurityRuleSet.Level1)]
-#endif\r
+[assembly: AssemblyFileVersion("1.0.1.00")]\r
+[assembly: AssemblyInformationalVersion("1.0.1")]\r
+[assembly: AllowPartiallyTrustedCallers]\r
#endif\r
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
- <ProductVersion>9.0.21022</ProductVersion>
+ <ProductVersion>10.0.20624</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{2AE75F5A-CD1F-4925-9647-AF4D1C282FB4}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RootNamespace>System.Scripting</RootNamespace>
<AssemblyName>System.Core</AssemblyName>
<DocumentationFile>$(OutputPath)\System.Core.XML</DocumentationFile>
<NoWarn>1591</NoWarn>
<OldToolsVersion>2.0</OldToolsVersion>
-<AssemblyOriginatorKeyFile>$(SolutionDir)\Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
+<AssemblyOriginatorKeyFile>$(SolutionDir)Runtime\MSSharedLibKey.snk</AssemblyOriginatorKeyFile>
<SignAssembly Condition="'$(SignAssembly)' == '' And Exists('$(AssemblyOriginatorKeyFile)')">true</SignAssembly>
<SignedSym Condition="'$(SignAssembly)' == 'true'">SIGNED</SignedSym>
<DelaySign>true</DelaySign>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'FxCop|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\fxcop\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\fxcop\</OutputPath>
<DefineConstants>TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Debug\</OutputPath>
<DocumentationFile>$(OutputPath)\System.Core.xml</DocumentationFile>
<DefineConstants>DEBUG;TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
-<OutputPath>$(SolutionDir)\..\Bin\Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Release\</OutputPath>
<DocumentationFile>$(OutputPath)\System.Scripting.Core.xml</DocumentationFile>
<DefineConstants>TRACE;$(SignedSym)</DefineConstants>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Debug\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;SILVERLIGHT</DefineConstants>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<DebugType>full</DebugType>
<SilverlightSdkPath>$(ProgramFiles)\Microsoft Silverlight\2.0.31005.0</SilverlightSdkPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Silverlight Release|AnyCPU' ">
-<OutputPath>$(SolutionDir)\..\Bin\Silverlight Release\</OutputPath>
+<OutputPath>$(SolutionDir)..\Bin\Silverlight Release\</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT</DefineConstants>
<DocumentationFile>$(OutputPath)\System.Scripting.Core.xml</DocumentationFile>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Compile Include="Actions\BinaryOperationBinder.cs" />
<Compile Include="Actions\CallSite.cs" />
<Compile Include="Actions\CallSiteBinder.cs" />
- <Compile Include="Actions\CallSiteRule.cs" />
<Compile Include="Actions\CallSiteHelpers.cs" />
<Compile Include="Actions\ConvertBinder.cs" />
<Compile Include="Actions\DeleteIndexBinder.cs" />
<Compile Include="Actions\RuleCache.cs" />
<Compile Include="Actions\SetIndexBinder.cs" />
<Compile Include="Actions\SetMemberBinder.cs" />
- <Compile Include="Actions\SmallRuleSet.cs" />
<Compile Include="Ast\Expression.DebuggerProxy.cs" />
<Compile Include="Ast\IArgumentProvider.cs" />
<Compile Include="Ast\ListArgumentProvider.cs" />
- <Compile Include="Compiler\ArgumentPrepender.cs" />
<Compile Include="Actions\UnaryOperationBinder.cs" />
<Compile Include="Ast\ExpressionStringBuilder.cs" />
<Compile Include="Compiler\BoundConstants.cs" />
<Compile Include="Compiler\RuntimeVariableList.cs" />
<Compile Include="Actions\UpdateDelegates.Generated.cs" />
<Compile Include="Ast\DynamicExpression.cs" />
- <Compile Include="Actions\AutoRuleTemplate.cs" />
<Compile Include="Ast\BinaryExpression.cs" />
<Compile Include="Ast\BlockExpression.cs" />
<Compile Include="Ast\CatchBlock.cs" />
<Compile Include="Ast\ParameterExpression.cs" />
<Compile Include="Ast\SwitchCase.cs" />
<Compile Include="Ast\SwitchExpression.cs" />
- <Compile Include="Ast\TreeComparer.cs" />
<Compile Include="Ast\TryExpression.cs" />
<Compile Include="Ast\TypeBinaryExpression.cs" />
<Compile Include="Ast\TypeUtils.cs" />
<Compile Include="Compiler\ConstantCheck.cs" />
<Compile Include="Compiler\ExpressionQuoter.cs" />
<Compile Include="Ast\ExpressionVisitor.cs" />
- <Compile Include="Ast\ExpressionWriter.cs" />
+ <Compile Include="Ast\DebugViewWriter.cs" />
<Compile Include="Compiler\HoistedLocals.cs" />
<Compile Include="Compiler\KeyedQueue.cs" />
<Compile Include="Compiler\LambdaCompiler.Address.cs" />
<Compile Include="Utils\TrueReadOnlyCollection.cs" />
<Compile Include="Utils\TypeExtensions.cs" />
<Compile Include="Stubs.cs" />
- <Compile Include="Utils\WeakUniqueSet.cs" />
</ItemGroup>
<ItemGroup>
<Content Include="..\..\System\Linq\Expressions\System.Linq.Expressions.txt">