소스 검색

mark found dispatch methods as @:keep (fixed issue #1432)

Simon Krajewski 12 년 전
부모
커밋
046e225e30
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      std/haxe/web/Dispatch.hx

+ 4 - 0
std/haxe/web/Dispatch.hx

@@ -350,6 +350,8 @@ class Dispatch {
 			for( f in fl.get().fields ) {
 				if( f.name.substr(0, 2) != "do" )
 					continue;
+				if (!f.meta.has(':keep'))
+					f.meta.add(':keep', [], f.pos);
 				var r = makeRule(f);
 				fields.push( { field : f.name.charAt(2).toLowerCase() + f.name.substr(3), expr : Context.makeExpr(r,p) } );
 			}
@@ -367,6 +369,8 @@ class Dispatch {
 					for( f in tmp.fields.get() ) {
 						if( f.name.substr(0, 2) != "do" )
 							continue;
+						if (!f.meta.has(':keep'))
+							f.meta.add(':keep', [], f.pos);
 						var r = makeRule(f);
 						for( m in f.meta.get() )
 							if( m.name.charAt(0) != ":" ) {