Skip to content

Commit

Permalink
Signature.lua
Browse files Browse the repository at this point in the history
  • Loading branch information
diakopter committed Oct 31, 2011
1 parent 83f8cb9 commit 377bf88
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions lua/Runtime/Signatures/Signature.lua
@@ -0,0 +1,34 @@
function makeSignature ()
local Signature = {};
local mt = { __index = Signature };
function Signature.new(Parameters)
local this = {};
this.Parameters = Parameters;
this.NumRequiredPositionals = 0;
this.NumPositionals = 0;

for i = 1, Parameters.Count do
if (Parameters[i].Flags == Parameter.POS_FLAG) then
this.NumRequiredPositionals = this.NumRequiredPositionals + 1;
this.NumPositionals = this.NumPositionals + 1;
elseif (Parameters[i].Flags == Parameter.OPTIONAL_FLAG) then
this.NumPositionals = this.NumPositionals + 1;
else
i = Parameters.Count + 1; -- fake break
end
end
return setmetatable(this, mt);
end

function Signature:HasSlurpyPositional()
for i = 1, self.Parameters.Count do
if (self.Parameters[i].Flags == Parameter.POS_SLURPY_FLAG) then
return true;
end
end
return false;
end
end
Signature = makeSignature();


0 comments on commit 377bf88

Please sign in to comment.