Hello,
I installed the version "Version 2012.1.409.0 SP1" and got following error in one of our assemblies:
I attached the code I wanted to decompile below the error (it is ours):
Current member / type: System.Void Bdl.DialogCrm.Silverlight.UserControls.BDLDockingControl::CreateView(Telerik.Windows.Controls.RadPane,System.String)
Product version: 2012.1.409.0
Der Index und die Länge müssen sich auf eine Position in der Zeichenfolge beziehen.
Parametername: length
bei System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
bei Telerik.JustDecompiler.Steps.Inflector.Uncapitalize(String word)
bei Telerik.JustDecompiler.Steps.Inflector.Camelize(String lowercaseAndUnderscoredWord)
bei Telerik.JustDecompiler.Steps.RenameVariables.Camelize(String name, conversion)
bei Telerik.JustDecompiler.Steps.RenameVariables.(TypeReference typeReference)
bei Telerik.JustDecompiler.Steps.RenameVariables.(TypeReference typeReference)
bei Telerik.JustDecompiler.Steps.RenameVariables.(TypeReference typeReference)
bei Telerik.JustDecompiler.Steps.RenameVariables.VisitObjectCreationExpression(ObjectCreationExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Steps.RenameVariables.(BinaryExpression node)
bei Telerik.JustDecompiler.Steps.RenameVariables.VisitBinaryExpression(BinaryExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitExpressionStatement(ExpressionStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Steps.RenameVariables.Process(DecompilationContext context, BlockStatement block)
bei Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language)
bei Telerik.JustDecompiler.Decompiler.Extensions.(DecompilationPipeline pipeline, ILanguage language, MethodBody body, DecompilationContext& context)
bei Telerik.JustDecompiler.Decompiler.Extensions.Decompile(MethodBody body, ILanguage language, DecompilationContext& context)
bei Telerik.JustDecompiler.Steps.RebuildLambdaExpressions.VisitMethodReferenceExpression(MethodReferenceExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ExpressionCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitObjectCreationExpression(ObjectCreationExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ExpressionCollection node)
bei Telerik.JustDecompiler.Steps.RebuildLambdaExpressions.VisitMethodInvocationExpression(MethodInvocationExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBinaryExpression(BinaryExpression node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitExpressionStatement(ExpressionStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitIfStatement(IfStatement node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(ICodeNode node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit[TCollection,TElement](TCollection original)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.Visit(StatementCollection node)
bei Telerik.JustDecompiler.Ast.BaseCodeTransformer.VisitBlockStatement(BlockStatement node)
bei Telerik.JustDecompiler.Steps.RebuildLambdaExpressions.Process(DecompilationContext context, BlockStatement body)
bei Telerik.JustDecompiler.Decompiler.DecompilationPipeline.Run(MethodBody body, ILanguage language)
bei Telerik.JustDecompiler.Decompiler.Extensions.(DecompilationPipeline pipeline, ILanguage language, MethodBody body, DecompilationContext& context)
bei Telerik.JustDecompiler.Decompiler.Extensions.Decompile(MethodBody body, ILanguage language, DecompilationContext& context)
bei Telerik.JustDecompiler.Languages.BaseImperativeLanguageWriter.Write(MethodDefinition method)
bei Telerik.JustDecompiler.Languages.BaseLanguageWriter.(IMemberDefinition member, Boolean isFirstMember)
bei Telerik.JustDecompiler.Languages.BaseLanguageWriter.(IMemberDefinition x, Boolean y)
bei Telerik.JustDecompiler.Languages.BaseLanguageWriter.(TypeDefinition type, Func`3 writeMember, Boolean writeNewLine, Boolean showCompilerGeneratedMembers, Boolean isMemberDeclaration)
Here is the code:
private
void
CreateView(RadPane pane,
string
viewName)
{
if
(pane !=
null
&& !
string
.IsNullOrEmpty(viewName))
{
pane.Content = ViewManager.Instance.GetViewComponent(viewName);
viewName = viewName.Contains(
"|"
) ? viewName.Substring(0, viewName.IndexOf(
"|"
)) : viewName;
if
(pane.Content !=
null
)
{
pane.Header = ((IView)pane.Content).DisplayName;
AttachableUserControl child = pane.Content
as
AttachableUserControl;
if
(child !=
null
)
{
ViewDescription viewDesc = ViewManager.Instance.ViewDescriptions.FirstOrDefault(vd => vd.Name == viewName);
if
(viewDesc !=
null
)
{
if
(viewDesc.InputViewModelType !=
null
)
{
if
(viewDesc.InputViewModelType.IsAssignableFrom(
this
.DataContext.GetType()))
{
child.SetBinding(AttachableUserControl.InputViewModelProperty,
new
System.Windows.Data.Binding { Source =
this
.DataContext });
}
else
{
var exposedViewModel = (from i
in
this
.DataContext.GetType().GetInterfaces()
from ea
in
i.GetCustomAttributes(
typeof
(ExposesViewModelAttribute),
true
).Cast<ExposesViewModelAttribute>()
where viewDesc.InputViewModelType.IsAssignableFrom(ea.ExposedType)
select ea).FirstOrDefault();
if
(exposedViewModel !=
null
)
{
PropertyInfo pi =
this
.DataContext.GetType().GetProperty(exposedViewModel.PropertyName);
child.SetBinding(AttachableUserControl.InputViewModelProperty,
new
System.Windows.Data.Binding { Source = pi.GetValue(
this
.DataContext,
new
object
[0]) });
}
}
}
}
}
}
else
{
if
(!pane.Header.ToString().Contains(
" nicht geladen!"
) && !pane.Header.ToString().Contains(
" (nicht geladen)"
))
{
pane.Header = pane.Header +
" (nicht geladen)"
;
}
}
pane.TitleTemplate = (DataTemplate)Application.Current.Resources[
"PaneTitleTemplate"
];
pane.PaneHeaderVisibility = Visibility.Visible;
pane.CanUserClose =
false
;
pane.CanUserPin =
false
;
pane.CanFloat =
false
;
pane.ContextMenuTemplate =
null
;
pane.DocumentHostTemplate = DefaultPane.DocumentHostTemplate;
}
}
PS: When I tried to mail the error (with the internal error function) the errortext was cutted after 1949 characters.
Regards,
Matthias