Oxygene 10 gives an internal error on some aspects code

Remobjects Elements 10.0.0.2331 Visual Studio 2017 Community

  • Unzip the included zip file:

OxygeneAspects.zip (1.4 MB)

  • Open the “PrismStandardAspects.sln” solution in Visual Studio 2017
  • Compile
    –> you get this compiler error:
    (E0) Internal error: System.NullReferenceException: Object reference not set to an instance of an object.
    at RemObjects.Oxygene.Code.AssignmentStatementTransform.ResolveStatement(ScopeInfo aScope, AssignmentStatement assignmentStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.BeginStatementTransform.ResolveStatement(ScopeInfo aScope, BeginStatement beginStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.AnonymousMethodExpressionTransform.ResolveAnonymousMethod(ScopeInfo aScope, AnonymousMethodExpression anonymousMethodExpression, BaseType aFixedDelegate, IList1 aUnresolvedMethodArguments, Boolean aSkipReset, Boolean aNoEscape) at RemObjects.Oxygene.Code.AnonymousMethodExpressionTransform.SelectAnonymousMethod(ScopeInfo aScope, AnonymousMethodExpression anonymousMethodExpression, BaseType aFixedDelegate, IList1 aUnresolvedMethodArguments, Boolean aSkipReset, Boolean aNoEscape)
    at RemObjects.Elements.Cirrus.AspectInfo.FixAnonymousMethodToStatement(Compiler Caller, ScopeInfo aScope, AnonymousMethodExpression aMethod, Boolean aAuto)
    at RemObjects.Oxygene.Code.Compiler.Compiler.AnonSelectCompatibleParameter(ScopeInfo aScope, BaseType SelfType, IList1 GenPar, Argument& Par, IMethodInfo aMeth, IParamInfo B, BaseType ParType) at RemObjects.Oxygene.Code.Compiler.Compiler.FindBestMatch(IPosition aErrorPos, String aID, ScopeInfo aScope, BaseType aSelfType, FindBestMatchFlags aFlags, ResultList aRestList, MutableInvokeExpression aParams, Func1 aAlternative)
    at RemObjects.Oxygene.Code.CallExpressionTransform.ResolveExpression(ScopeInfo aScope, CallExpression incall, CallMode aCM)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitExpression(ScopeInfo aScope, Expression element)
    at RemObjects.Oxygene.Code.AssignmentStatementTransform.ResolveStatement(ScopeInfo aScope, AssignmentStatement assignmentStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.BeginStatementTransform.ResolveStatement(ScopeInfo aScope, BeginStatement beginStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.IfStatementTransform.ResolveStatement(ScopeInfo aScope, IfStatement ifStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.BeginStatementTransform.ResolveStatement(ScopeInfo aScope, BeginStatement beginStatement)
    at RemObjects.Oxygene.Code.Compiler.NewResolveExpressionAndStatement.VisitStatement(ScopeInfo aScope, Statement element)
    at RemObjects.Oxygene.Code.Compiler.Compiler.ResolveMethodBody(ScopeInfo aScope, IMethodImplementation aMethod)
    at RemObjects.Oxygene.Code.Compiler.Compiler.<>c__DisplayClass40.b__5(IParsedType aType)
    at RemObjects.Oxygene.Code.Compiler.Compiler.ForAllInternalTypes(Action`1 aAt)
    at RemObjects.Oxygene.Code.Compiler.Compiler.ResolveMembers() Prism.StandardAspects D:\Repositories\GSD\Thunderbolt\Software\Common\SubRepositories\oxygeneaspects\trunk\Source\Prism.StandardAspects\DependencyPropertyAttribute.pas 78

Extra issue: if you double click on the E0 error in the error list to make it jump to the code, VS will completely hang up (Both VS2017 and VS2015)

Thanks, logged as bugs://81219 (IDE)

Thanks, logged as bugs://81220 (Compiler)

bugs://81220 got closed with status fixed.

bugs://81219 got closed with status fixed.