@@ -22,25 +22,13 @@ public override void SyntaxError(TextWriter output, IRecognizer recognizer, ITok
2222 [ DataRow ( "Nested::mynamespace" ) ]
2323 public void Namespace ( string @namespace )
2424 {
25- var script = $ "namespace { @namespace } \r \n {{\r \n }}\r \n ";
26- var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
27- var tokenStream = new CommonTokenStream ( lexer ) ;
28- var parser = new UnrealAngelscriptParser ( tokenStream ) ;
29- parser . RemoveErrorListeners ( ) ;
30- parser . AddErrorListener ( new ThrowingErrorListener ( ) ) ;
31- new UnrealAngelscriptSimpleVisitor ( script ) . VisitChildren ( parser . script ( ) ) ;
25+ ParseScript ( $ "namespace { @namespace } \r \n {{\r \n }}\r \n ") ;
3226 }
3327
3428 [ TestMethod ]
3529 public void NamedArgumentsFunctionCall ( )
3630 {
37- var script = "void Func(bool Arg1 = false, int Arg2 = 0) {}\r \n void main() { Func(Arg2: 1, Arg1: true); }\r \n " ;
38- var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
39- var tokenStream = new CommonTokenStream ( lexer ) ;
40- var parser = new UnrealAngelscriptParser ( tokenStream ) ;
41- parser . RemoveErrorListeners ( ) ;
42- parser . AddErrorListener ( new ThrowingErrorListener ( ) ) ;
43- new UnrealAngelscriptSimpleVisitor ( script ) . VisitChildren ( parser . script ( ) ) ;
31+ ParseScript ( "void Func(bool Arg1 = false, int Arg2 = 0) {}\r \n void main() { Func(Arg2: 1, Arg1: true); }\r \n " ) ;
4432 }
4533
4634 [ TestMethod ]
@@ -52,13 +40,7 @@ public void NamedArgumentsFunctionCall()
5240 [ DataRow ( "accept_temporary_this" ) ] // UnrealAngelscript
5341 public void FunctionModifier ( string modifier )
5442 {
55- var script = $ "protected bool Func() { modifier } \r \n {{\r \n return true;\r \n }}";
56- var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
57- var tokenStream = new CommonTokenStream ( lexer ) ;
58- var parser = new UnrealAngelscriptParser ( tokenStream ) ;
59- parser . RemoveErrorListeners ( ) ;
60- parser . AddErrorListener ( new ThrowingErrorListener ( ) ) ;
61- new UnrealAngelscriptSimpleVisitor ( script ) . VisitChildren ( parser . script ( ) ) ;
43+ ParseScript ( $ "bool Func() { modifier } \r \n {{\r \n return true;\r \n }}") ;
6244 }
6345
6446 [ TestMethod ]
@@ -81,13 +63,7 @@ public void FunctionModifier(string modifier)
8163 [ DataRow ( "string" , "f\" Formatted String: {L:0.1f}\\ u00B0\" " ) ] // https://angelscript.hazelight.se/scripting/format-strings/
8264 public void DataType ( string type , string value )
8365 {
84- var script = $ "{ type } VAR = { value } ;";
85- var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
86- var tokenStream = new CommonTokenStream ( lexer ) ;
87- var parser = new UnrealAngelscriptParser ( tokenStream ) ;
88- parser . RemoveErrorListeners ( ) ;
89- parser . AddErrorListener ( new ThrowingErrorListener ( ) ) ;
90- new UnrealAngelscriptSimpleVisitor ( script ) . VisitChildren ( parser . script ( ) ) ;
66+ ParseScript ( $ "{ type } VAR = { value } ;") ;
9167 }
9268
9369 [ TestMethod ]
@@ -96,13 +72,7 @@ public void DataType(string type, string value)
9672 [ DataRow ( "UCLASS(Abstract)" ) ]
9773 public void UClass ( string annotation )
9874 {
99- var script = $ "{ annotation } class ClassName : BaseClass {{}};";
100- var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
101- var tokenStream = new CommonTokenStream ( lexer ) ;
102- var parser = new UnrealAngelscriptParser ( tokenStream ) ;
103- parser . RemoveErrorListeners ( ) ;
104- parser . AddErrorListener ( new ThrowingErrorListener ( ) ) ;
105- new UnrealAngelscriptSimpleVisitor ( script ) . VisitChildren ( parser . script ( ) ) ;
75+ ParseScript ( $ "{ annotation } class ClassName : BaseClass {{}};") ;
10676 }
10777
10878 [ TestMethod ]
@@ -113,7 +83,11 @@ public void UClass(string annotation)
11383 [ DataRow ( "UPROPERTY(DefaultComponent, RootComponent)" ) ]
11484 public void UProperty ( string annotation )
11585 {
116- var script = $ "class ClassName : BaseClass\r \n {{\r \n \t { annotation } \r \n DummyType DummyProperty;\r \n }};";
86+ ParseScript ( $ "class ClassName : BaseClass\r \n {{\r \n \t { annotation } \r \n DummyType DummyProperty;\r \n }};") ;
87+ }
88+
89+ private static void ParseScript ( string script )
90+ {
11791 var lexer = new UnrealAngelscriptLexer ( new AntlrInputStream ( script ) ) ;
11892 var tokenStream = new CommonTokenStream ( lexer ) ;
11993 var parser = new UnrealAngelscriptParser ( tokenStream ) ;
0 commit comments