Allow getting members by name from ClassBuilder.

This commit is contained in:
back2dos
2013-10-24 12:49:23 +02:00
parent 9c8daad018
commit a57487ab72
3 changed files with 10 additions and 6 deletions

View File

@@ -124,7 +124,11 @@ class ClassBuilder {
}
return superFields.get(name);
}
public function memberByName(name:String, ?pos:Position)
return
if (memberMap.exists(name)) Success(memberMap.get(name));
else pos.makeFailure('unknown member $name');
public function removeMember(member:Member):Bool
return
member != null

View File

@@ -92,9 +92,9 @@ class Constructor {
var tmp = MacroApi.tempName();
if (options.bypass) {
switch @:privateAccess owner.memberMap[name] {
case nil if (nil == null):
case member: member.addMeta(':isVar');
switch owner.memberByName(name) {
case Success(member): member.addMeta(':isVar');
default:
}
if (Context.defined('dce') && Context.definedValue('dce') == 'full') {