diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 60a46d97..3628e3a7 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -22008,7 +22008,7 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup, if ((propertyDeclaration != NULL) && (!typeDef->HasAutoProperty(propertyDeclaration))) { if ((!mCurTypeInstance->IsInterface()) && (!hasExternSpecifier)) - Fail("Body expected", methodDef->mBody); + Fail("Body expected", methodDef->GetRefNode()); } else if (methodDef->mMethodType == BfMethodType_PropertyGetter) { diff --git a/IDEHelper/Compiler/BfSystem.cpp b/IDEHelper/Compiler/BfSystem.cpp index 6ca6ea91..a780fca0 100644 --- a/IDEHelper/Compiler/BfSystem.cpp +++ b/IDEHelper/Compiler/BfSystem.cpp @@ -956,6 +956,8 @@ bool BfTypeDef::HasAutoProperty(BfPropertyDeclaration* propertyDeclaration) return false; if (propertyDeclaration->mExternSpecifier != NULL) return false; + if (propertyDeclaration->IsA()) + return false; for (auto methodDeclaration : propertyDeclaration->mMethods) { @@ -967,10 +969,8 @@ bool BfTypeDef::HasAutoProperty(BfPropertyDeclaration* propertyDeclaration) String BfTypeDef::GetAutoPropertyName(BfPropertyDeclaration* propertyDeclaration) { - String name = "prop__"; - if (propertyDeclaration->IsA()) - name += "indexer__"; - else if (propertyDeclaration->mNameNode != NULL) + String name = "prop__"; + if (propertyDeclaration->mNameNode != NULL) name += propertyDeclaration->mNameNode->ToString(); return name; }