Skip to content

Commit

Permalink
[Haxe][CodeGenerator] Fixed: Disable the generation of static members…
Browse files Browse the repository at this point in the history
… in the 'enum'. fixes fdorg#2299
  • Loading branch information
SlavaRa committed Jul 30, 2018
1 parent 922b0df commit e41692a
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 3 deletions.
4 changes: 2 additions & 2 deletions External/Plugins/HaXeContext/Generators/CodeGenerator.cs
Expand Up @@ -57,15 +57,15 @@ protected override bool CanShowImplementInterfaceList(ScintillaControl sci, int
protected override bool CanShowNewMethodList(ScintillaControl sci, int position, ASResult expr, FoundDeclaration found)
{
var inClass = expr.RelClass ?? found.InClass;
return ((inClass.Flags & FlagType.TypeDef) == 0 || !expr.IsStatic)
return ((!inClass.Flags.HasFlag(FlagType.TypeDef) && !inClass.Flags.HasFlag(FlagType.Enum)) || !expr.IsStatic)
&& base.CanShowNewMethodList(sci, position, expr, found);
}

/// <inheritdoc />
protected override bool CanShowNewVarList(ScintillaControl sci, int position, ASResult expr, FoundDeclaration found)
{
var inClass = expr.RelClass ?? found.InClass;
return ((inClass.Flags & FlagType.TypeDef) == 0 || !expr.IsStatic)
return ((!inClass.Flags.HasFlag(FlagType.TypeDef) && !inClass.Flags.HasFlag(FlagType.Enum)) || !expr.IsStatic)
&& base.CanShowNewMethodList(sci, position, expr, found);
}

Expand Down
Expand Up @@ -393,7 +393,6 @@ static IEnumerable<TestCaseData> Issue2295TestCases
}
}


static IEnumerable<TestCaseData> Issue2297TestCases
{
get
Expand Down Expand Up @@ -421,6 +420,29 @@ static IEnumerable<TestCaseData> Issue2297TestCases
}
}

static IEnumerable<TestCaseData> Issue2299TestCases
{
get
{
yield return new TestCaseData("BeforeContextualGeneratorTests_issue2299_1", GeneratorJobType.FunctionPublic, false)
.Returns(null)
.SetName("Enum.fo|o(). Issue 2299. Case 1.")
.SetDescription("https://github.com/fdorg/flashdevelop/issues/2299");
yield return new TestCaseData("BeforeContextualGeneratorTests_issue2299_1", GeneratorJobType.VariablePublic, false)
.Returns(null)
.SetName("Enum.fo|o(). Issue 2299. Case 2.")
.SetDescription("https://github.com/fdorg/flashdevelop/issues/2299");
yield return new TestCaseData("BeforeContextualGeneratorTests_issue2299_2", GeneratorJobType.FunctionPublic, false)
.Returns(null)
.SetName("Enum.fo|o. Issue 2299. Case 3.")
.SetDescription("https://github.com/fdorg/flashdevelop/issues/2299");
yield return new TestCaseData("BeforeContextualGeneratorTests_issue2299_2", GeneratorJobType.VariablePublic, false)
.Returns(null)
.SetName("Enum.fo|o. Issue 2299. Case 4.")
.SetDescription("https://github.com/fdorg/flashdevelop/issues/2299");
}
}

static IEnumerable<TestCaseData> AssignStatementToVarIssue1999TestCases
{
get
Expand Down Expand Up @@ -977,6 +999,7 @@ static IEnumerable<TestCaseData> GenerateEventHandlerIssue751TestCases
TestCaseSource(nameof(Issue2220TestCases)),
TestCaseSource(nameof(Issue2295TestCases)),
TestCaseSource(nameof(Issue2297TestCases)),
TestCaseSource(nameof(Issue2299TestCases)),
//TestCaseSource(nameof(AssignStatementToVarIssue220TestCases)),
TestCaseSource(nameof(AssignStatementToVarIssue1764TestCases)),
TestCaseSource(nameof(AssignStatementToVarIssue1999TestCases)),
Expand Down
Expand Up @@ -669,6 +669,8 @@
<EmbeddedResource Include="Test Files\generators\code\BeforeContextualGeneratorTests_issue2297_2.hx" />
<EmbeddedResource Include="Test Files\generators\code\BeforeContextualGeneratorTests_issue2297_5.hx" />
<EmbeddedResource Include="Test Files\generators\code\AfterContextualGeneratorTests_issue2297_5.hx" />
<EmbeddedResource Include="Test Files\generators\code\BeforeContextualGeneratorTests_issue2299_1.hx" />
<EmbeddedResource Include="Test Files\generators\code\BeforeContextualGeneratorTests_issue2299_2.hx" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
@@ -0,0 +1,10 @@
package;
class EFoo {
public function new() {
Enum.fo$(EntryPoint)o()
}
}

enum Enum {

}
@@ -0,0 +1,10 @@
package;
class EFoo {
public function new() {
Enum.fo$(EntryPoint)o
}
}

enum Enum {

}

0 comments on commit e41692a

Please sign in to comment.