Allow getting members by name from ClassBuilder.
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
"license": "MIT",
|
||||
"tags": ["tink", "macro", "utility"],
|
||||
"description": "The macro toolkit ;)",
|
||||
"version": "0.0.4-beta",
|
||||
"releasenote": "Setter bypass fix.",
|
||||
"version": "0.1.0-beta",
|
||||
"releasenote": "Allow getting members by name from ClassBuilder.",
|
||||
"contributors": ["back2dos"],
|
||||
"dependencies": {
|
||||
"tink_core": "1.0.0-beta.4"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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') {
|
||||
|
||||
Reference in New Issue
Block a user